пытаюсь запустить эту программу. Я думаю, что для настройки всего веб-сервиса мне нужно запустить apt. (Хотя я использую javac, у меня такая же проблема). Я думаю, что я получаю ошибки компиляции. (Показано внизу).
Я думаю, что мне нужно включить эту банку в свой путь к классу: jsr181-api.jar (источник) . Есть ли простой временный способ сделать это (на 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
Обновление: круто, но он все еще не работает. Я создал новый вопрос, чтобы все было красиво и организовано:
javac
), но не во время выполнения (т.е.java
). Например,lombok
фляга.Ответы:
Попробуйте следующее:
Путь к классам по умолчанию (если нет переменной среды CLASSPATH) - это текущий каталог, поэтому, если вы переопределите его, убедитесь, что вы добавляете текущий каталог (.) В путь к классам, как это сделал я.
источник
java -cp *:. HelloWorld
. Таким образом, все банки в моем пути к классам всегда включены.В окнах:
java -cp C:/.../jardir1/*;C:/.../jardir2/* class_with_main_method
убедитесь, что класс с основной функцией находится в одной из включенных jar-файлов
источник
Примечание для пользователей Windows: jar-файлы следует разделять знаком,
;
а не:
.например:
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:.
работает, но дает мне еще одну ошибку, см. новый вопрос
источник
источник