如何解决将 JPublisher 与 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 运行我的程序时一切正常,但是当我运行 mvn clean install
时我想迁移到最新版本的 eclipse 时出现此错误
Exception in thread "main" java.lang.NoClassDefFoundError: sun/io/CharToByteConverter
我尝试构建一个包含此类的 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。