Hi dadoonet, I didn't mention that I'm not using maven. I'm using the pre-built distribution. I would assume that everything would be included there. The elasticsearch.jar does have a client.transport package in it, but the PreBuiltTransportClient class is not in the build.
Are you saying that, even if I'm using the binary distribution, I still have to pull down further dependencies? Doesn't that kinda defeat the purpose of providing pre-built binaries?
I agree 100%. Unfortunately, my company requires that we get permission to use every single product we use within our application and therefore does not allow the use of Maven since they can't control what libs are being used. It's all part of their policing the licenses for the packages we use. It's a real pain in the behind, but it is what it is.
With that said, I do now see what you mean in so far as needing the extra dependencies. Specifically the transport type being used, etc. That will help me grab those and make sure they are approved for use.
I worked with such a company policy historically. The deal we made was that you can use Maven and a enterprise Maven repo (Sonatype for example), and then just add authorized libs in there.
The use maven as a normal dependency manager. If you can't access to a lib when you run mvn install, then you can decide what you need to do:
remove the lib you don't want to use
add authorization to add this lib to your company policy
Another way for doing that (and we went to that path) is to allow everything from the company repository but people in charge of the policy can run audits on the repository and see what libs are used and if they are compatible with the policy. Which means as well that every project which uses Maven need to publish their project on the company repository so you can link all that together.
In short, maven/gradle is not the problem here.
Coming back to your problem, just create a minimalistic maven project at home, then add the transport lib as explained in our docs and launch mvn dependency:tree. You'll get the list of the dependencies you manually need to add.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.