mencoba menjalankan program ini. Saya pikir untuk menyiapkan semua layanan web, saya perlu menjalankan apt. (Meskipun menggunakan javac, saya mengalami masalah yang sama). Saya pikir apa yang saya dapatkan adalah kesalahan kompilasi. (Tampil di bawah).
Saya pikir yang perlu saya lakukan adalah memasukkan jar ini ke jalur kelas saya: jsr181-api.jar (sumber) . Apakah ada cara sementara yang sederhana untuk melakukan ini (di solaris)? Saya tidak ingin menambahkannya ke file bash_rc saya (itu ada selamanya). Saya juga tahu bahwa ada beberapa cara untuk melakukannya menggunakan file teks manifes tetapi itu tampak rumit jadi saya belum memeriksanya. Bisakah saya melakukan sesuatu seperti:
javac HelloImp <listOfJars>
atau
ant HelloImp <listOfJars>
Kode:
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 + "!";
}
}
Kesalahan kompilasi:
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
Pembaruan: Keren yang dibungkus tetapi masih belum berfungsi. Saya telah membuat pertanyaan baru untuk menjaga semuanya tetap bagus dan teratur:
javac
) tetapi tidak pada saat runtime (yaitujava
). Misalnyalombok
toples.Jawaban:
Coba yang berikut ini:
Classpath default (kecuali ada variabel lingkungan CLASSPATH) adalah direktori saat ini jadi jika Anda mendefinisikannya kembali, pastikan Anda menambahkan direktori saat ini (.) Ke classpath seperti yang telah saya lakukan.
sumber
java -cp *:. HelloWorld
. Dengan cara itu semua toples di classpath saya selalu disertakan.Di windows:
java -cp C:/.../jardir1/*;C:/.../jardir2/* class_with_main_method
pastikan bahwa kelas dengan fungsi utama berada di salah satu toples yang disertakan
sumber
Catatan untuk pengguna Windows, toples harus dipisahkan oleh
;
dan bukan:
.sebagai contoh:
javac -cp external_libs\lib1.jar;other\lib2.jar;
sumber
Gunakan tombol
-cp
atau-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.
(Perhatikan bahwa pemisah yang digunakan untuk memisahkan entri pada jalur kelas berbeda antara OS, pada mesin Windows saya
;
, biasanya di * nix:
.)sumber
Menggunakan:
apt HelloImpl.java -classpath /sac/tools/thirdparty/jaxws-ri/jaxws-ri-2.1.4/lib/jsr181-api.jar:.
berfungsi tetapi memberi saya kesalahan lain, lihat pertanyaan baru
sumber
sumber