Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Java SDK for Optimizely Feature Experimentation and Optimizely Full Stack (legacy).

License

NotificationsYou must be signed in to change notification settings

optimizely/java-sdk

Repository files navigation

Apache 2.0

This repository houses the Java SDK for use with Optimizely Feature Experimentation and Optimizely Full Stack (legacy).

Optimizely Feature Experimentation is an A/B testing and feature management tool for product development teams that enables you to experiment at every step. Using Optimizely Feature Experimentation allows for every feature on your roadmap to be an opportunity to discover hidden insights. Learn more atOptimizely.com, or see thedeveloper documentation.

Optimizely Rollouts isfree feature flags for development teams. You can easily roll out and roll back features in any application without code deploys, mitigating risk for every feature on your roadmap.

Get started

Refer to theJava SDK's developer documentation for detailed instructions on getting started with using the SDK.

Requirements

Java 8 or higher versions.

Install the SDK

The Java SDK is distributed through Maven Central and is created with source and target compatibility of Java 1.8. Thecore-api andhttpclient packages areoptimizely-sdk-core-api andoptimizely-sdk-httpclient, respectively.

core-api requiresorg.slf4j:slf4j-api:1.7.16 and a supported JSON parser.We currently integrate withJackson,GSON,json.org, andjson-simple; if any of those packages are available at runtime, they will be used bycore-api. If none of those packages are already provided in your project's classpath, one will need to be added.

core-httpclient-impl is an optional dependency that implements the event dispatcher and requiresorg.apache.httpcomponents:httpclient:4.5.2.


NOTE

Optimizely previously distributed the Java SDK through Bintray/JCenter. But, as of April 27, 2021,Bintray/JCenter will become a read-only repository indefinitely. The publish repository has been migrated toMavenCentral for the SDK version 3.8.1 or later.


repositories {  mavenCentral()  jcenter()}dependencies {  compile 'com.optimizely.ab:core-api:{VERSION}'  compile 'com.optimizely.ab:core-httpclient-impl:{VERSION}'  // The SDK integrates with multiple JSON parsers, here we use Jackson.  compile 'com.fasterxml.jackson.core:jackson-core:2.7.1'  compile 'com.fasterxml.jackson.core:jackson-annotations:2.7.1'  compile 'com.fasterxml.jackson.core:jackson-databind:2.7.1'}

Use the Java SDK

See the Optimizely Feature Experimentationdeveloper documentation to learn how to set up your first Java project and use the SDK.

SDK Development

Unit tests

You can run all unit tests with:

./gradlew test

Checking for bugs

We utilizeSpotBugs to identify possible bugs in the SDK. To run the check:

./gradlew check

Benchmarking

JMH benchmarks can be run through gradle:

./gradlew core-api:jmh

Results are generated in$buildDir/reports/jmh.

Contributing

Please seeCONTRIBUTING.

Credits

First-party code (under core-api/ and core-httpclient-impl) is copyright Optimizely, Inc. and contributors, licensed under Apache 2.0.

Additional Code

This software incorporates code from the following open source projects:

core-api module

SLF4Jhttps://www.slf4j.org

Copyright © 2004-2017 QOS.ch

License (MIT):https://www.slf4j.org/license.html

Jackson Annotationshttps://github.com/FasterXML/jackson-annotations

License (Apache 2.0):https://github.com/FasterXML/jackson-annotations/blob/master/src/main/resources/META-INF/LICENSE

Gsonhttps://github.com/google/gson

Copyright © 2008 Google Inc.

License (Apache 2.0):https://github.com/google/gson/blob/master/LICENSE

JSON-javahttps://github.com/stleary/JSON-java

Copyright © 2002 JSON.org

License (The JSON License):https://github.com/stleary/JSON-java/blob/master/LICENSE

JSON.simplehttps://code.google.com/archive/p/json-simple/

Copyright © January 2004

License (Apache 2.0):https://github.com/fangyidong/json-simple/blob/master/LICENSE.txt

Jackson Databindhttps://github.com/FasterXML/jackson-databind

License (Apache 2.0):https://github.com/FasterXML/jackson-databind/blob/master/src/main/resources/META-INF/LICENSE

core-httpclient-impl module

Gsonhttps://github.com/google/gson

Copyright © 2008 Google Inc.

License (Apache 2.0):https://github.com/google/gson/blob/master/LICENSE

Apache HttpClienthttps://hc.apache.org/httpcomponents-client-ga/index.html

Copyright © January 2004

License (Apache 2.0):https://github.com/apache/httpcomponents-client/blob/master/LICENSE.txt

Other Optimzely SDKs


[8]ページ先頭

©2009-2025 Movatter.jp