2017-12-05 13 views
0

org.jsonを使用するJavaプラグインをコンパイルしています。これを含める前に、プラグインは正しくコンパイルして実行できました。 stackoverflowで同様の問題が発生していますが、gradleを使用してこの問題に対処するものはありません。osgi.wiring.package; (&osgi.wiring.package = org.json)(バージョン> = 0.0.0))未解決の要件:

私のクラスのトップでは、私は

import org.json.JSONArray; 
import org.json.JSONObject; 

を以下している私のGradleのビルドスクリプトには、次のものが含まれています

repositories { 
    maven { 
     url "http://repo.dotcms.com/artifactory/libs-release" 
    } 
    mavenCentral() 
    flatDir { 
     dirs 'src/main/resources/localLibs' 
    } 
} 

sourceCompatibility = 1.8 
targetCompatibility = 1.8 

dependencies { 
    compile fileTree(dir: 'src/main/resources/libs', include: '*.jar') 
    compile (group: 'com.dotcms', name: 'dotcms', version: '4.2.2'){ 
     transitive = true 
    } 
    compile group: 'com.fasterxml.jackson.core', name: 'jackson-core', version: '2.8.8' 
    compile group: 'org.json', name: 'json', version: '20170516' 
    compile group: 'org.simpleflatmapper', name: 'sfm-csv', version: '3.14.1' 
    /* Specifying an alternate configuration (see above 'configurations') keeps servlet-api.jar from being added to our own output Jar. */ 
    providedCompile "javax.servlet:javax.servlet-api:3.1.0" 
    testCompile group: 'junit', name: 'junit', version: '4.12' 
} 

jar { 
    manifest { 
     name = 'Symplicity SOAP API Web Service' 
     symbolicName = 'Symplicity SOAP API Web Service' 
     instruction 'Bundle-Vendor', 'JustinKubicek' 
     instruction 'Bundle-Name', 'Symplicity SOAP API Web Service' 
     instruction 'Bundle-Description', 'This is a plugin to access the Symplicity SOAP API Web Service' 
     instruction 'Bundle-DocURL', 'https://bitbucket.org/justinkubicek/symplicity-soap-api-plugin' 
     instruction 'Bundle-Activator', 'com.symplicitysoapapi.soapapitool.osgi.Activator' 
     instruction 'DynamicImport-Package', '*' 
     instruction 'Import-Package', '*;version=0;' 
    } 
}  

私は取得していますエラーがここにこれです。

javax.servlet.ServletException: Unable to resolve Symplicity SOAP API Web Service 
[197](R 197.0): missing requirement [Symplicity SOAP API Web Service [197](R 197.0)] 
osgi.wiring.package; (&(osgi.wiring.package=org.json)(version>=0.0.0)) 
Unresolved requirements: [[Symplicity SOAP API Web Service [197](R 197.0)] 
osgi.wiring.package; (&(osgi.wiring.package=org.json)(version>=0.0.0))] 
Unable to start bundle 
at com.dotmarketing.portlets.osgi.AJAX.OSGIAJAX.start(OSGIAJAX.java:122) 
~[dotcms_4.2.2_999999.jar:?] 
+0

org.jsonパッケージをエクスポートするバンドルがインストールされていますか? –

+0

私は挑戦的にこれについての専門家ではありません。私はいいえと言うだろう。私はコマンドラインインターフェイスで動作する別のプラグインを使用しています。コンパイルグループは 'org.json'、名前は 'json'、バージョンは '20170516'です。 http://repo.dotcms.com/artifactory/libs-releaseリポジトリに問題がありますか? –

+0

私はこれらの代わりにcom.dotmarketing.util.json.JSONArrayをインポートすることを決めました。 import com.dotmarketing.util.json.JSONObject; –

答えて

0

あなたはJSONライブラリのカスタムバージョンを必要としない限り、私はdotCMSライブラリに含まれている再パッケージ化されたクラスを使用するように輸入を変更することをお勧めします。そこにあるクラスは、必要に応じて開発者がこのライブラリのカスタムバージョンを含めることができるように再パッケージ化されています。ここでは4.2.2のリリースで利用可能なJSONクラスのリストは以下のとおりです。

./dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/dot.json-ukv_2.jar:com/dotcms/repackage/org/json/XMLTokener.java 
 
./dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/dot.json-ukv_2.jar:com/dotcms/repackage/org/json/XML.java 
 
./dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/dot.json-ukv_2.jar:com/dotcms/repackage/org/json/Test.java 
 
./dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/dot.json-ukv_2.jar:com/dotcms/repackage/org/json/JSONWriter.java 
 
./dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/dot.json-ukv_2.jar:com/dotcms/repackage/org/json/JSONTokener.java 
 
./dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/dot.json-ukv_2.jar:com/dotcms/repackage/org/json/JSONStringer.java 
 
./dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/dot.json-ukv_2.jar:com/dotcms/repackage/org/json/JSONString.java 
 
./dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/dot.json-ukv_2.jar:com/dotcms/repackage/org/json/JSONObject.java 
 
./dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/dot.json-ukv_2.jar:com/dotcms/repackage/org/json/JSONML.java 
 
./dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/dot.json-ukv_2.jar:com/dotcms/repackage/org/json/JSONException.java 
 
./dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/dot.json-ukv_2.jar:com/dotcms/repackage/org/json/JSONArray.java 
 
./dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/dot.json-ukv_2.jar:com/dotcms/repackage/org/json/HTTPTokener.java 
 
./dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/dot.json-ukv_2.jar:com/dotcms/repackage/org/json/HTTP.java 
 
./dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/dot.json-ukv_2.jar:com/dotcms/repackage/org/json/CookieList.java 
 
./dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/dot.json-ukv_2.jar:com/dotcms/repackage/org/json/Cookie.java 
 
./dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/dot.json-ukv_2.jar:com/dotcms/repackage/org/json/CDL.java 
 
./dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/dot.json-ukv_2.jar:com/dotcms/repackage/org/json/
あなたは彼らがあなたのエクスポートパッケージのリストに表示されていることを確認する必要があり、実行時にこれらのクラスを使用するには、もちろん

https://dotcms.com/docs/latest/osgi-plugins#ExportedPackages

関連する問題