我有一个可执行的jar文件,我想从Ubuntu上的*.sh脚本开始。
当前,myapp.sh文件看起来如下(错误:“什么都不发生”):
java -jar myapp.jar --start我也尝试过(错误:"/bin/sh: 0:无法打开java"):
/bin/sh java -jar myapp.jar --start和(错误:"/bin/sh: 0:无法打开java -jar myapp.jar -启动“):
/bin/sh "java -jar myapp.jar --start"myapp.sh文件具有rwx权限..。当我打电话./myapp.jar时,什么都不会发生。
有人能解决这个问题吗?
事先非常感谢。
编辑1:这是我的MANIFEST.MF:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.3
Created-By: 1.6.0_38-b05 (Sun Microsystems Inc.)
Class-Path: lib/gf-client.jar lib/security.jar lib/eclipselink-2.3.2.j
ar lib/javax.persistence-2.0.3.jar lib/org.eclipse.persistence.jpa.jp
ql_1.0.1.jar lib/org.eclipse.persistence.jpa.modelgen.processor-2.3.2
.jar lib/javaee-api-6.0.jar lib/LawSuiteFXW.jar lib/AbsoluteLayout.ja
r lib/beansbinding-1.2.1.jar lib/antlr-2.7.7.jar lib/antlr-runtime-3.
3.jar lib/bootstrapconnector.jar lib/commons-codec-1.5.jar lib/common
s-collections-3.2.1.jar lib/commons-compress-1.3.jar lib/commons-dige
ster-1.7.jar lib/commons-email-1.2.jar lib/commons-io-2.4.jar lib/com
mons-lang-2.4.jar lib/commons-lang3-3.1.jar lib/commons-logging-1.1.1
.jar lib/commons-vfs2-2.0.jar lib/glazedlists_java15-1.9-20111127.203
634-11.jar lib/icepdf-core.jar lib/icepdf-viewer.jar lib/jasypt-1.9.0
.jar lib/jcommon-1.0.17.jar lib/jfreechart-1.0.14.jar lib/jhall.jar l
ib/jms.jar lib/joda-time-2.1.jar lib/junit-3.8.1.jar lib/log4j-1.2.15
.jar lib/migcalendarbean.jar lib/PDFRenderer-0.9.1.jar lib/xmlsec-2.0
.jar lib/avalon-framework-api-4.3.1.jar lib/avalon-framework-impl-4.3
.1.jar lib/docx4j-2.8.1.jar lib/fop-1.0.jar lib/itext-2.1.7.jar lib/j
axb-svg11-1.0.2.jar lib/jaxb-xmldsig-core-1.0.0.jar lib/jaxb-xslfo-1.
0.1.jar lib/poi-3.8.jar lib/poi-scratchpad-3.8.jar lib/serializer-2.7
.1.jar lib/stringtemplate-3.2.1.jar lib/wmf2svg-0.9.0.jar lib/xalan-2
.7.1.jar lib/xhtmlrenderer-1.0.0.jar lib/xml-apis-1.3.04.jar lib/xmlg
raphics-commons-1.4.jar lib/poi-ooxml-3.8-20120326.jar lib/poi-ooxml-
schemas-3.8-20120326.jar lib/batik-1.1.1.jar lib/ftp4j-1.7.2.jar lib/
AppleJavaExtensions-1.4.jar lib/swingx-all-1.6.4.jar lib/swingx-beani
nfo-1.6.4.jar lib/pdfbox-1.7.1.jar lib/fontbox-1.7.1.jar lib/jempbox-
1.7.1.jar lib/jai_codec.jar lib/jai_core.jar lib/java-mail-1.4.6.jar
lib/LawSuiteSE.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: ch.acme.core.Main编辑2:
我使用以下代码启动GUI应用程序:
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
Main m = new Main();
m.setVisible(true);
}
});
}将其移到下面,解决了问题。有什么主意吗??
public static void main(String[] args) {
Main m = new Main();
m.setVisible(true);
}发布于 2013-02-22 14:29:39
我使用以下代码启动GUI应用程序:
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
Main m = new Main();
m.setVisible(true);
}
});移除这个问题解决了问题。有什么想法吗?
发布于 2013-02-21 19:32:27
你可能会添加一些东西来帮助我们帮助你
要从可执行的Jar启动应用程序,您需要:
定义清单中的主类,定义清单中的类路径,并在jar中嵌入所有依赖项,或者将-cp添加到java调用中,并将路径添加到依赖项的类路径中。
编辑:好的,根据我理解的注释,java命令很好.所以你的问题是和sh一起
将此添加到sh的顶部
/bin/ksh
开始输入./scriptname.ksh
(如果您绝对需要在sh中运行,请用sh替换ksh )
编辑2:我使用的Ksh示例:
#!/bin/ksh
JAVA_HOME16=/usr/java16/bin
${JAVA_HOME16}/java -Drunningenv=dev -Dbatch.jdbc.user=${DB2_CODE_USAGER} -Dbatch.jdbc.password=${DB2_MOT_PASSE} -jar ${BASEDIR}/BD_PVFI/bin/spring-batch- conciliation-1.0.0-SNAPSHOT.jar input.desj.file=${INPUTFILE_DESJ}
rc=$?发布于 2013-02-21 19:31:50
尝试使用完整的路径运行java。
运行“哪个java”来计算出整个路径。
https://stackoverflow.com/questions/15010609
复制相似问题