I am developing an application for data syncing between Hive and Teradata.
For this I am using sqoop in embedded mode, i.e. I have added sqoop as a jar in the classpath and use Sqoop.runTool(..) to execute the operation.
However on eclipse it is marked as deprecated. I using version 1.4.2 and could not find any information on this.
I'm currently using it anyway but it would be better if somebody could provide some information as to why it is deprecated and what could be done about it?
what precise class are you using? There are currently two Sqoop classes:
com.cloudera.sqoop.Sqoop - this is deprecated
org.apache.sqoop.Sqoop - this is the right one to use
Sqoop was historically developed mainly at cloudera and it got moved under Apache later (during version 1.3.0). During incubation (before version 1.4.0) we moved all the functionality from cloudera namespace into apache namespace. We've provided classes in cloudera namespace to keep backward compatibility, but we marked them as deprecated.
Jarcec
Related
Our software provider delivers batch jobs implemented in java using log4j.jar
(version 1.2; the major version number of the class files in the jar is 45, which corresponds to JDK 1.1)
as their logging framework.
My suggestion to use a more recent version of log4j.jar was rejected with the following argument:
That's not OUR software, that's just open source that we are using and furthermore: it works! so there is no need to change it.
Are there any strong security arguments against:
Using old classes running within a (according to actual knowledge) 'secure' and modern jvm-runtime?
I am dealing with a vulnerable jar(jstl-1.2.jar). My application is very old and runs on IBM websphere 5.1. Since jstl-1.2 does not have any non-vulnerable version available, I want to add this jar in the shared library of the websphere.
My doubt is, if I remove the har from application package and add it to websphere shared library, will the application work?
What a dedication... WAS 5.1 :-) You really need to upgrade to the newer version. This one is unsupported for ages... Try OpenLiberty which is open source version of latest WebSphere Liberty lightweight server.
Also get migration toolkit for binaries that will scan your ear and show you list of required changes.
You can also use WebSphere migration Eclipse plugin that will help you migrate your sources in Eclipse.
This approach is much more beneficial than trying to hack jstl, as you will get to supported version and also get rid of old vulnerabilities.
I have a ubuntu machine and have java-11 installed. My whole project consists of integrating a Hadoop cluster to work with Apache Drill and Apache Superset. I initially got Apache Drill running with Java -11. Then when configuring the Hadoop Cluster the documentation stated that Hadoop only supports java-8. So I downloaded java-8 through Oracle and changed the JAVA_HOME to the Java-8's path.
Then Hadoop worked fine. But then going back to drill it didn't work. I assume it must be due to the two java versions conflicting. I checked out websites like https://novicestuffs.wordpress.com/2017/04/25/how-to-uninstall-java-from-linux/ only to realize that if I follow them I would be completely removing java-8 and java-11 from my machine
Therefore is there a way I can permanently remove java-11 but keep java-8 in my system?
I am currently trying to use a custom-trained OpenNLP Name Finder model in code. My project uses OpenNLP 1.6.0 and is developed using Eclipse IDE. The model was also trained using OpenNLP 1.6.0.
However, I'm getting this annoying error:
java.lang.IllegalArgumentException : opennlp.tools.util.InvalidFormatException: Model version 1.6.0 is not supported by this (1.5.3) version of OpenNLP!
A similar question was asked here and the answer stated that the problem was due to the OpenNLP model being trained using the same version as the one in use (i.e. training a model using 1.6.0 and using it in a project that also uses 1.6.0). However I also have other Java projects using OpenNLP 1.6.0, and they were able to load the model successfully, so I don't think this applies to me.
The .classpath of my project also shows that the project is referencing the OpenNLP 1.6.0 libraries.
I know the question is rather vague, but if anyone has any insight into why this could be happening, please let me know!
To sum up: Unable to load custom trained OpenNLP Name Finder model in code due to apparent OpenNLP version incompatibility. Model was trained in OpenNLP 1.6.0, which my project also uses. Other projects also using 1.6.0 were able to load the model successfully.
I've pinpointed the source of my error - my project was making use of the Apache Tika 1.13 library as well, which contains its own implementation of OpenNLP 1.5.3.
As a result the classpath contained multiple JARs that contain their own versions of the OpenNLP classes.
EDIT 16/1/2017: From my findings, the order in which the libraries are loaded matters.
Please correct me if I am wrong here: in Java (and other languages as well), once a dependency component has been loaded in memory, then by default, it will not be loaded again even if another version is required later.
Because of this, if the Tika library is loaded before the OpenNLP 1.6.0 libraries, OpenNLP 1.5.3 will be loaded first, and the program will "stick" to 1.5.3 in spite of the subsequent loading of 1.6.0. Similarly, if the reverse happens (1.6.0 is loaded before Tika), the program will "stick" to 1.6.0 instead.
We've updated our buildserver (Atlassian Bamboo) to Java 8 (JDK).
Since then our integrationtests are failing because our started product does not open any port.
We are building with maven and as part of the integrationtest we are starting our builded product. Our product is a Rest-Api based in an OSGI (equinox) and Jetty.
I tried a lot of things, but nothing helped me to get the product start properly in the maven build.
When I log in on my remote machine and start the product manually everything works fine.
Some more information:
Our buildserver runs as a windows service and our product is written in plain Java.
Presumably you are affected by one or more of the issues discussed in Custom AMIs will not start anymore in Bamboo Cloud (BAM-16291), notably that Bamboo is not compatible with JDK8u60 yet:
Joda-time, one of the libraries used by Bamboo is not compatible with
8u60. We've fixed this problem, but the fix has not been rolled out
yet. Known breakages include S3 interaction and CodeDeploy plugin.
Most/All participants got things working again by downgrading to JDK8u45, as also recommended in Atlassian's most recent update:
Use JDK 8u45. The latest JDKs are incompatible with some 3rd party libraries we're using.
Try to match the layout and scripts of our stock images as closely as possible. This will make it easier for us to provide help if
anything goes wrong.
Choose Oracle if you have the choice between Oracle and OpenJDK flavor of JDK.