[英]Including jars in classpath on commandline (javac or apt)
试图运行这个程序。 我认为要设置我需要运行apt的所有Web服务。 (虽然使用javac我遇到了同样的问题)。 我认为我得到的是编译错误。 (如下图所示)。
我想我需要做的是在我的类路径中包含这个jar:jsr181-api.jar (source) 。 有没有一个简单的临时方法(在solaris上)? 我不想将它添加到我的bash_rc文件中(它永远存在)。 我也知道有一些方法可以使用清单文本文件,但这似乎很复杂,所以我还没有调查它。 我可以这样做:
javac HelloImp <listOfJars>
要么
ant HelloImp <listOfJars>
码:
package server;
import javax.jws.WebService;
@WebService
public class HelloImpl {
/**
* @param name
* @return Say hello to the person.
*/
public String sayHello(String name) {
return "Hello, " + name + "!";
}
}
编译错误:
HelloImpl.java:3: package javax.jws does not exist
import javax.jws.WebService;
^
HelloImpl.java:5: cannot find symbol
symbol: class WebService
@WebService
^
2 errors
更新:酷包裹但仍然不能正常工作。 我创建了一个新问题,以保持良好和有条理:
请尝试以下方法:
java -cp jar1:jar2:jar3:dir1:. HelloWorld
默认的类路径(除非有CLASSPATH环境变量)是当前目录,所以如果你重新定义它,请确保你像我一样将当前目录(。)添加到类路径中。
在Windows中:
java -cp C:/.../jardir1/*;C:/.../jardir2/* class_with_main_method
确保具有main函数的类位于其中一个包含的jar中
注意对于Windows用户,罐子应该用;
而不是:
。
例如: javac -cp external_libs\\lib1.jar;other\\lib2.jar;
使用-cp
或-classpath
开关。
$ java -help
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
...
-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
(请注意,用于分隔类路径上的条目的分隔符在操作系统之间是不同的,在我的Windows机器上;
在* nix中它通常是:
。)
使用:
apt HelloImpl.java -classpath /sac/tools/thirdparty/jaxws-ri/jaxws-ri-2.1.4/lib/jsr181-api.jar:.
工作,但它给了我另一个错误,看到新的问题
javac HelloWorld.java -classpath ./javax.jar,假设javax在当前文件夹中,编译目标是“HelloWorld.java”,你可以在没有main方法的情况下编译
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.