Java 如何覆盖OpenJDK详细信息?
我正在使用LinuxBox并设置Oracle12c实例和JavaJDK。这个问题与classNotFound错误无关 也在.profile文件中。我设置了以下路径:Java 如何覆盖OpenJDK详细信息?,java,spring-batch,Java,Spring Batch,我正在使用LinuxBox并设置Oracle12c实例和JavaJDK。这个问题与classNotFound错误无关 也在.profile文件中。我设置了以下路径: export JAVA_HOME=/usr/jdk1.8.0_144 #/usr/java export ANT_HOME=/sys_apps_01/apache-ant-1.9.4 export M2_HOME=/sys_apps_01/apache-maven-2.2.1 export M2=$M2_HOME/bin expor
export JAVA_HOME=/usr/jdk1.8.0_144 #/usr/java
export ANT_HOME=/sys_apps_01/apache-ant-1.9.4
export M2_HOME=/sys_apps_01/apache-maven-2.2.1
export M2=$M2_HOME/bin
export ORACLE_HOME=/vol_01/oracle/product/v11.2.0.3/
export PATH=$M2:$PATH:$JAVA_HOME/bin:$ORACLE_HOME/bin
但是当我使用java-version和javac-version时,为什么我会得到OpenJDK的详细信息呢
当我找到openJDK的时候。我什么也没得到
[root@10.XXX-XX-00 ~]# find / -name "openjdk"
[root@10.XXX-XX-00 ~]#
对于用户,似乎已经设置了环境变量,而不是根用户。如何解决这个错误
应用程序给我以下错误-
java.lang.NoClassDefFoundError: Could not initialize class javax.crypto.JceSecurity
at javax.crypto.Cipher.getInstance(Cipher.java:653)
at javax.crypto.Cipher.getInstance(Cipher.java:596)
at com.mastercard.ess.eds.batch.mapper.RawRecordFieldSetMapper.decriptValue(RawRecordFieldSetMapper.java:126)
at com.mastercard.ess.eds.batch.mapper.RawRecordFieldSetMapper.mapFieldSet(RawRecordFieldSetMapper.java:87)
at com.mastercard.ess.eds.batch.mapper.RawRecordLineMapper.mapLine(RawRecordLineMapper.java:19)
at com.mastercard.ess.eds.batch.mapper.RawRecordLineMapper.mapLine(RawRecordLineMapper.java:12)
at org.springframework.batch.item.file.FlatFileItemReader.doRead(FlatFileItemReader.java:180)
at org.springframework.batch.item.support.AbstractItemCountingItemStreamItemReader.read(AbstractItemCountingItemStreamItemReader.java:88)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
at com.sun.proxy.$Proxy45.read(Unknown Source)
at org.springframework.batch.item.support.SynchronizedItemStreamReader.read(SynchronizedItemStreamReader.java:55)
at org.springframework.batch.core.step.item.SimpleChunkProvider.doRead(SimpleChunkProvider.java:91)
at org.springframework.batch.core.step.item.FaultTolerantChunkProvider.read(FaultTolerantChunkProvider.java:87)
at org.springframework.batch.core.step.item.SimpleChunkProvider$1.doInIteration(SimpleChunkProvider.java:116)
at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:374)
at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215)
at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:144)
at org.springframework.batch.core.step.item.SimpleChunkProvider.provide(SimpleChunkProvider.java:110)
at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:69)
at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:406)
at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:330)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133)
at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:271)
at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:81)
at org.springframework.batch.repeat.support.TaskExecutorRepeatTemplate$ExecutingRunnable.run(TaskExecutorRepeatTemplate.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
细节
联阿援助团
Linux ech-10-XXX-XX-00 2.6.32-696.13.2.el6.x86_64 1 SMP周四10月5日17:03:21 PDT 2017 x86_64 x86_64 GNU/Linux
我找到了
/usr/lib/jvm
[user@:/usr/lib/jvm]$ ll
total 4.0K
drwxr-xr-x 3 root root 4.0K May 21 23:01 java-1.8.0-openjdk-1.8.0.171-8.b10.el6_9.x86_64
lrwxrwxrwx 1 root root 51 Jun 20 07:57 jre-1.8.0-openjdk-1.8.0.171-8.b10.el6_9.x86_64 -> java-1.8.0-openjdk-1.8.0.171-8.b10.el6_9.x86_64/jre
lrwxrwxrwx 1 root root 51 Jun 20 07:57 jre-1.8.0-openjdk.x86_64 -> java-1.8.0-openjdk-1.8.0.171-8.b10.el6_9.x86_64/jre
lrwxrwxrwx 1 root root 21 Jun 20 07:57 jre -> /etc/alternatives/jre
lrwxrwxrwx 1 root root 29 Jun 20 07:57 jre-openjdk -> /etc/alternatives/jre_openjdk
lrwxrwxrwx 1 root root 27 Jun 20 07:57 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
[user@:/usr/lib/jvm]$
现在有什么指导吗?仅仅因为您已将JAVA_设置为HOME,并不意味着运行JAVA和javac将从该目录获取命令
可执行文件的搜索路径实际上存储在path变量中
试试这个:
export PATH=$JAVA_HOME/bin:$PATH
这将把您定义的Java home前置到路径的开头,这意味着在搜索Java时,这将是第一个选中的位置
要查找实际运行的二进制文件,请使用
which java
>/c/Program Files/Java/jdk1.8.0_151/bin/java
没有指定您使用的Linux发行版,但请参阅:uname-a Linux ech-10-XXX-XX-00 2.6.32-696.13.2.el6.x86_64 1 SMP Thu Oct 5 17:03:21 PDT 2017 x86_64 x86_64 x86_64 GNU/LinuxOk我知道了。更正。请删除否决票。这阻碍了我们提出问题
which java
>/c/Program Files/Java/jdk1.8.0_151/bin/java