keep
工具中的wsgen
标记到底有什么作用?我正在使用Oracle Java 7附带的默认命令行实现(at:/usr/lib/jvm/java-7-oracle/bin/wsgen
)。
文档说:“保留生成的文件”但是我已经尝试了两种方法:
wsgen -cp dist/foo.jar -r ../client/ -s ../client/src-auto/ -keep foo.Hello
和
wsgen -cp dist/foo.jar -r ../client/ -s ../client/src-auto/ foo.Hello
并且始终覆盖生成的文件(Java客户端存根文件和wsdl文件)。 wsgen
Ant task显示了相同的行为 - keep
属性似乎没有
产生任何效果,无论是true
还是false
。
答案 0 :(得分:1)
wsgen
生成您的Web服务工件,编译它们并仅保留.class
个文件。通过使用-keep
选项,您告诉wsgen
还保留生成的.java
文件。
-s
指示wsgen
保留.java
个文件并将它们放在指定的位置,此时我认为-keep
选项被忽略,因为您使用了{{ 1}}选项(您在两个示例中都这样做了。)
尝试使用只有-s
的简单命令进行播放,并查看它何时保留-keep
个文件,何时保留.java
。