[英]Use JPublisher with jdk8
我有一个像这样执行命令jpub的程序
executeCommand("jpub -u "+args[0]+"/"+args[1]+" -package="+args[3]+" -codegen=iso -url="+args[2]+" -plsqlpackage="+resultSetMain.getString(1)+" -dir "+args[4]+" -case=lower -plsqlfile="+resultSetMain.getString(1)+"_wrapper.sql,"+resultSetMain.getString(1)+"_wrapper_drop.sql -s "+resultSetMain.getString(1)+":"+resultSetMain.getString(1)+"_OUT -compile=false -omit_schema_names");
当execCommand
只是一个获取运行时实例并执行命令的私有 function 时:
Process pr = rt.exec(command);
我正在使用 maven 来构建我的项目。
当我使用 eclipse Juno 运行我的程序时,一切都很好,但是当我想迁移到 eclipse 的最新版本时,当我运行mvn clean install
时,我遇到了这个错误
Exception in thread "main" java.lang.NoClassDefFoundError: sun/io/CharToByteConverter
我试图构建一个包含此 class 的 jar converter
并将其添加到我的项目中,但这不起作用
<repositories>
<repository>
<id>my-local-repo</id>
<url>file://${basedir}/lib</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>ma.me</groupId>
<artifactId>converter</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
我怎么解决这个问题?
在阅读了 JPublisher 的文档之后,我发现了一个部分,它讲述了如何指定 JVM 来调用 JPublisher doc 。
我们可以使用-vm=value
参数,其中的值是JDK6
或 7 的位置,因此您可以像这样运行命令:
executeCommand("jpub -u "+args[0]+"/"+args[1]+" -package="+args[3]+" -codegen=iso -url="+args[2]+" -vm="+args[8]+" -plsqlpackage="+resultSetMain.getString(1)+" -dir "+args[4]+" -case=lower -plsqlfile="+resultSetMain.getString(1)+"_wrapper.sql,"+resultSetMain.getString(1)+"_wrapper_drop.sql -s "+resultSetMain.getString(1)+":"+resultSetMain.getString(1)+"_OUT -compile=false -omit_schema_names");
在我们的示例中, args[8]
包含可执行文件 java 6 的路径,例如: D:\Java\jdk6\bin\java
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.