繁体   English   中英

对Java程序的更改未得到体现

[英]changes to java program not being reflected

#!/bin/ksh
echo "Some Programme v1.0.0"
JAVA_HOME=/apps/clear/jdk1.7.0_45
PATH=${JAVA_HOME}/bin:${JAVA_HOME}/lib:/usr/local/bin:/bin:/usr/bin:.:

export NEWAPI_DIR=/local/newapi/1.1.1.1.2
LIBRARY_PATH=$NEWAPI_DIR/Linux-2.6/lib
MY_HOME=/home/clear/dev/app/lse
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$LIBRARY_PATH
MY_CLASSPATH=${MY_HOME}/lib/yt500.jar:${JAVA_HOME}/jre/lib/rt.jar:${MY_HOME}/lib/ftlse.jar:$LIBRARY_PATH/JNewApi.jar:$LIBRARY_PATH/Jfib.jar
date
$JAVA_HOME/bin/java -version
$JAVA_HOME/bin/java -classpath $MY_CLASSPATH com.company.ft.lse.LseParser /home/clear/dev/app/lse/config/config.xml
date

上面是我的运行脚本。 我有一个将代码更改为的应用程序LseParser.java 但是,当我在Unix框中运行代码(。./run)时,此代码未得到反映。 当我在ftlse.jar所在的LseParser.class找到LseParser.class时,它的修改时间是很久以前的。 有人可以指出我做错了什么,还是建议我应做的检查或更改? 我应该在脚本中缺少任何行吗?

Java是一种编译语言 您需要先运行javac编译器,然后运行jar命令来创建jar文件。 您可以使用我链接的教程来弄清楚如何为您的项目正确运行它们。 获得编译和打包命令后,可以将它们添加到运行脚本中。 但是,我强烈建议您使用诸如Maven之类的构建自动化工具,这样就不必使用自定义构建的运行脚本。

我认为您在第3行中错过了JAVA_HOME之前的导出...因此,shell而不是将$ JAVA_HOME当作变量,而是将其解释为命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM