RE: How to resolve elasticsearch dependencies problem in liferay 7 modul

lokesh gorrela, modified 6 Years ago. Regular Member Posts: 173 Join Date: 3/9/16 Recent Posts
Hi 
I am facing   elasticsearch dependencies   problem  with build.gradle  file in liferay 7  module.  If any  one knows about  this problem  please give reply to me.

buil.gradle: 
compile group: 'org.elasticsearch', name: 'elasticsearch', version: '6.5.0'
compile group: 'org.elasticsearch.client', name: 'transport', version: '6.5.4'

Mycode:
            Builder builder = Settings.builder().put("cluster.name","TGS_CLUSTER");
            builder.put("node.name","TGS-1");
            
            TransportClient client = new PreBuiltTransportClient(builder.build());
            client.addTransportAddress(new TransportAddress(InetAddress.getByName("127.0.0.1"),9300));
            BoolQueryBuilder finalQuery = QueryBuilders.boolQuery();
            finalQuery.should(QueryBuilders.matchQuery("uid","20099_spellCheckWord_mT2o6pf2zmNsA4i2shFy/Q==" ));
            finalQuery.should(QueryBuilders.matchQuery("uid","20099_spellCheckWord_LB2zRLAKdqxdmWCB5J/jfg==" ));
            SearchResponse response = client.prepareSearch("liferay-20099").setQuery(finalQuery).get();
            //System.out.println("Response:"+response);
            
            List<SearchHit> searchHits = Arrays.asList(response.getHits().getHits());            for(SearchHit hit: searchHits) {
                
                    System.out.println("hit:"+hit.getSourceAsString());
            }

error log:
org.osgi.framework.BundleException: Could not resolve module: com.liferay.docs.guestbook.portlet [1018]_  Unresolved requirement: Import-Package: org.elasticsearch.action_ [Sanitized]
    at org.eclipse.osgi.container.Module.start(Module.java:444)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:428)
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1258)
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1230)
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.startAllBundles(DirectoryWatcher.java:1218)
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:507)
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:361)
    at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:312)

If any one facing this problem please give  reply to me.

Thanks
Lokesh
thumbnail
Jorge Díaz, modified 6 Years ago. Liferay Master Posts: 753 Join Date: 1/9/14 Recent Posts
The problem in your module is you are not providing Elasticsearch client libraries in runtime.
In order to avoid that you can try adding manually that jar dependences or use "compileInclude" as Liferay does in its own module:
lokesh gorrela, modified 6 Years ago. Regular Member Posts: 173 Join Date: 3/9/16 Recent Posts
Hi orge Díaz
Thanks for your response.
I added dependecies in  build.grade file   based on  https://github.com/liferay/liferay-portal/blob/93b3c4d1dcb14e35454da8cca5985d4137f3c16c/modules/apps/portal-search-elasticsearch6/portal-search-elasticsearch6-impl/build.gradle#L51-L62    this link.

bnd.bnd:
Bundle-Name: CaseInfo
Bundle-SymbolicName: CaseInfoBundle-Version: 1.0.0
Export-Package: CaseInfo.constants

Import-Package: \!org.elasticsearch.*,\*

build.gradle:
dependencies {
compileOnly group: "com.liferay.portal", name: "com.liferay.portal.kernel"compileOnly group: "com.liferay.portal", name: "com.liferay.util.taglib"
compileOnly group: "javax.portlet", name: "portlet-api"
compileOnly group: "javax.servlet", name: "javax.servlet-api"
compileOnly group: "jstl", name: "jstl"
compileOnly group: "org.osgi", name: "osgi.cmpn"
compileInclude group: "org.elasticsearch", name: "elasticsearch", version: '6.5.0'
compileInclude group: "org.elasticsearch", name: "elasticsearch-cli", version: '6.5.0'
compileInclude group: "org.elasticsearch", name: "elasticsearch-core", version: '6.5.0'
compileInclude group: "org.elasticsearch", name: "elasticsearch-x-content", version: '6.5.0'
compileInclude group: "org.elasticsearch.client", name: "sniffer", version: "5.5.3"
compileInclude group: "org.elasticsearch.client", name: "transport", version: '6.5.0'
compileInclude group: "org.elasticsearch.plugin", name: "elasticsearch-scripting-painless-spi", version: '6.5.0'
compileInclude group: "org.elasticsearch.plugin", name: "lang-mustache-client", version:'6.5.0'
compileInclude group: "org.elasticsearch.plugin", name: "parent-join-client", version: '6.5.0'
compileInclude group: "org.elasticsearch.plugin", name: "percolator-client", version: '6.5.0'
compileInclude group: "org.elasticsearch.plugin", name: "reindex-client", version: '6.5.0'
compileInclude group: "org.elasticsearch.plugin", name: "transport-netty4-client", version: '6.5.0'
}

I followed the above process and I try to deploy this module but i get below error.
error log:
Working Directory: /Users/lokesh./Documents/GIPPortalSetup/OSGIWorkspace/modules/CaseInfoGradle user home: /Users/lokesh/.gradleGradle Distribution: Gradle wrapper from target buildGradle Version: 4.10.2Java Home: /Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/HomeJVM Arguments: NoneProgram Arguments: NoneBuild Scans Enabled: falseOffline Mode Enabled: falseGradle Tasks: deploy
> Task :modules:CaseInfo:compileJava> Task :modules:CaseInfo:buildCSS NO-SOURCE> Task :modules:CaseInfo:processResources> Task :modules:CaseInfo:transpileJS SKIPPED> Task :modules:CaseInfo:configJSModules SKIPPED> Task :modules:CaseInfo:replaceSoyTranslation NO-SOURCE> Task :modules:CaseInfo:wrapSoyAlloyTemplate SKIPPED> Task :modules:CaseInfo:classes
> Task :modules:CaseInfo:jar FAILED[Classes found in the wrong directory: {META-INF/versions/9/org/elasticsearch/monitor/jvm/JvmPid.class=org.elasticsearch.monitor.jvm.JvmPid}, Classes found in the wrong directory: {META-INF/versions/9/org/elasticsearch/core/internal/io/Streams.class=org.elasticsearch.core.internal.io.Streams}, Classes found in the wrong directory: {META-INF/versions/9/org/apache/lucene/util/LongsRef.class=org.apache.lucene.util.LongsRef, META-INF/versions/9/org/apache/lucene/search/PointRangeQuery$1.class=org.apache.lucene.search.PointRangeQuery$1, META-INF/versions/9/org/apache/lucene/util/StringHelper.class=org.apache.lucene.util.StringHelper, META-INF/versions/9/org/apache/lucene/util/automaton/Automaton$Builder.class=org.apache.lucene.util.automaton.Automaton$Builder, META-INF/versions/9/org/apache/lucene/analysis/tokenattributes/CharTermAttributeImpl.class=org.apache.lucene.analysis.tokenattributes.CharTermAttributeImpl, META-INF/versions/9/org/apache/lucene/util/BytesRef.class=org.apache.lucene.util.BytesRef, META-INF/versions/9/org/apache/lucene/search/PointRangeQuery$1$1.class=org.apache.lucene.search.PointRangeQuery$1$1, META-INF/versions/9/org/apache/lucene/document/BinaryPoint$2.class=org.apache.lucene.document.BinaryPoint$2, META-INF/versions/9/org/apache/lucene/document/RangeFieldQuery$QueryType$1.class=org.apache.lucene.document.RangeFieldQuery$QueryType$1, META-INF/versions/9/org/apache/lucene/index/CodecReader.class=org.apache.lucene.index.CodecReader, META-INF/versions/9/org/apache/lucene/util/automaton/Automaton.class=org.apache.lucene.util.automaton.Automaton, META-INF/versions/9/org/apache/lucene/util/bkd/MutablePointsReaderUtils$2.class=org.apache.lucene.util.bkd.MutablePointsReaderUtils$2, META-INF/versions/9/org/apache/lucene/document/LongRange.class=org.apache.lucene.document.LongRange, META-INF/versions/9/org/apache/lucene/index/MergeReaderWrapper.class=org.apache.lucene.index.MergeReaderWrapper, META-INF/versions/9/org/apache/lucene/util/CharsRef.class=org.apache.lucene.util.CharsRef, META-INF/versions/9/org/apache/lucene/codecs/compressing/LZ4.class=org.apache.lucene.codecs.compressing.LZ4, META-INF/versions/9/org/apache/lucene/document/DoubleRange.class=org.apache.lucene.document.DoubleRange, META-INF/versions/9/org/apache/lucene/document/FloatRange.class=org.apache.lucene.document.FloatRange, META-INF/versions/9/org/apache/lucene/document/RangeFieldQuery$QueryType$2.class=org.apache.lucene.document.RangeFieldQuery$QueryType$2, META-INF/versions/9/org/apache/lucene/util/bkd/BKDReader.class=org.apache.lucene.util.bkd.BKDReader, META-INF/versions/9/org/apache/lucene/util/CharsRef$UTF16SortedAsUTF8Comparator.class=org.apache.lucene.util.CharsRef$UTF16SortedAsUTF8Comparator, META-INF/versions/9/org/apache/lucene/document/LatLonPointDistanceQuery$1$2.class=org.apache.lucene.document.LatLonPointDistanceQuery$1$2, META-INF/versions/9/org/apache/lucene/util/bkd/MutablePointsReaderUtils$3$1.class=org.apache.lucene.util.bkd.MutablePointsReaderUtils$3$1, META-INF/versions/9/org/apache/lucene/document/LatLonPointInPolygonQuery$1$1.class=org.apache.lucene.document.LatLonPointInPolygonQuery$1$1, META-INF/versions/9/org/apache/lucene/search/BooleanScorer$TailPriorityQueue.class=org.apache.lucene.search.BooleanScorer$TailPriorityQueue, META-INF/versions/9/org/apache/lucene/util/bkd/MutablePointsReaderUtils$1$1.class=org.apache.lucene.util.bkd.MutablePointsReaderUtils$1$1, META-INF/versions/9/org/apache/lucene/document/IntRange.class=org.apache.lucene.document.IntRange, META-INF/versions/9/org/apache/lucene/search/PointRangeQuery$1$2.class=org.apache.lucene.search.PointRangeQuery$1$2, META-INF/versions/9/org/apache/lucene/index/CheckIndex$VerifyPointsVisitor.class=org.apache.lucene.index.CheckIndex$VerifyPointsVisitor, META-INF/versions/9/org/apache/lucene/search/PointInSetQuery$SinglePointVisitor.class=org.apache.lucene.search.PointInSetQuery$SinglePointVisitor, META-INF/versions/9/org/apache/lucene/util/bkd/BKDWriter$BKDMergeQueue.class=org.apache.lucene.util.bkd.BKDWriter$BKDMergeQueue, META-INF/versions/9/org/apache/lucene/util/bkd/BKDWriter.class=org.apache.lucene.util.bkd.BKDWriter, META-INF/versions/9/org/apache/lucene/util/BytesRefArray.class=org.apache.lucene.util.BytesRefArray, META-INF/versions/9/org/apache/lucene/document/LatLonPointDistanceQuery$1$3.class=org.apache.lucene.document.LatLonPointDistanceQuery$1$3, META-INF/versions/9/org/apache/lucene/util/IntsRef.class=org.apache.lucene.util.IntsRef, META-INF/versions/9/org/apache/lucene/index/BitsSlice.class=org.apache.lucene.index.BitsSlice, META-INF/versions/9/org/apache/lucene/document/RangeFieldQuery$QueryType$3.class=org.apache.lucene.document.RangeFieldQuery$QueryType$3, META-INF/versions/9/org/apache/lucene/index/PointValues.class=org.apache.lucene.index.PointValues}, Classes found in the wrong directory: {META-INF/versions/9/org/apache/lucene/index/memory/MemoryIndex$Info.class=org.apache.lucene.index.memory.MemoryIndex$Info}, Classes found in the wrong directory: {META-INF/versions/9/org/apache/lucene/document/InetAddressPoint$2.class=org.apache.lucene.document.InetAddressPoint$2, META-INF/versions/9/org/apache/lucene/document/InetAddressRange.class=org.apache.lucene.document.InetAddressRange}, Classes found in the wrong directory: {META-INF/versions/9/org/apache/lucene/document/LatLonShapeBoundingBoxQuery.class=org.apache.lucene.document.LatLonShapeBoundingBoxQuery, META-INF/versions/9/org/apache/lucene/document/LatLonShapeQuery.class=org.apache.lucene.document.LatLonShapeQuery}, Classes found in the wrong directory: {META-INF/versions/9/org/apache/logging/log4j/util/StackLocator.class=org.apache.logging.log4j.util.StackLocator, META-INF/versions/9/module-info.class=module-info, META-INF/versions/9/org/apache/logging/log4j/util/internal/DefaultObjectInputFilter.class=org.apache.logging.log4j.util.internal.DefaultObjectInputFilter, META-INF/versions/9/org/apache/logging/log4j/util/ProcessIdUtil.class=org.apache.logging.log4j.util.ProcessIdUtil}]
FAILURE: Build failed with an exception.
* What went wrong:Failed to capture fingerprint of input files for task ':modules:CaseInfo:jar' property 'rootSpec$2$1' during up-to-date check.> Could not copy MANIFEST.MF to '/Users/lokesh.gorrela/Documents/GIPPortalSetup/OSGIWorkspace/modules/CaseInfo/build/tmp/jar/MANIFEST.MF'.
* Try:Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.Use '--warning-mode all' to show the individual deprecation warnings.See https://docs.gradle.org/4.10.2/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 11s3 actionable tasks: 3 executed

If any one knows about this error please give reply to me.
Thanks 
Lokesh