将 JPublisher 与 jdk8 结合使用
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
只是一个获取运行时间实例并执行命令的私有函数时:
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 的文档后,我找到了一个部分,其中讲述了如何指定通过其调用 JPublisher 的 JVM 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
我有一个程序可以执行这样的命令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
只是一个获取运行时间实例并执行命令的私有函数时:
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 的文档后,我找到了一个部分,其中讲述了如何指定通过其调用 JPublisher 的 JVM 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