cuốn sách gpt4 ai đã làm

java - Không thể chạy chương trình java! NoClassDefFoundError?

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 04:05:30 25 4
mua khóa gpt4 Nike

Tôi là nhà phát triển .NET, nhưng đối với dự án hiện tại của tôi, tôi cần sử dụng dự án Java Google Caja. Ờ ồ!

tôi đã theo dõi http://code.google.com/p/google-caja/wiki/RunningCaja Tôi đã làm theo hướng dẫn trên máy Windows của mình nhưng không thể chạy chương trình. Dòng lệnh họ đề xuất không hoạt động, vì vậy tôi đã vào thư mục ant-jars và thử chạy plugin.jar:

D:\java\caja\svn-changes\pristine\ant-jars>java -cp .
Ngoại lệ trong chuỗi "chính" java.lang.NoClassDefFoundError: org/apache/commons/cli/ParseException
tại com.google.caja.plugin.PluginCompilerMain.(PluginCompilerMain.java:78)
tại com.google.caja.plugin.PluginCompilerMain.main(PluginCompilerMain.java:368)
Nguyên nhân là do: java.lang.ClassNotFoundException: org.apache.commons.cli.ParseException
tại java.net.URLClassLoader$1.run(URLClassLoader.java:202)
tại java.security.AccessController.doPrivileged(Phương thức gốc)
tại java.net.URLClassLoader.findClass(URLClassLoader.java:190)
tại java.lang.ClassLoader.loadClass(ClassLoader.java:307)
tại sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
tại java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 2 nữa

这是怎么回事?

Tôi cũng đã thử file:///d:/java/caja/svn-changes/pristine/ant-jars/test.htm thay vì test.htm. Nhìn vào mã nguồn, tham số tệp có vẻ là Uri...

Tôi cũng đã thử chạy IKVM trên pluginc và sau đó không phải lo lắng về java, nhưng điều này cũng dẫn đến ClassDefNotFoundException...

Cảm ơn!

EDIT: Cảm ơn mọi người vì sự giúp đỡ của bạn cho đến nay :) Vẫn bị mắc kẹt. Hãy tiếp tục, đây có thể là bước khởi đầu cho quá trình chuyển đổi của các nhà phát triển .net sang công nghệ OSS tuyệt đẹp!

d:\java\caja\svn-changes\pristine\ant-jars>java -cp .\*.* com.google.caja.plugin.PluginCompilerMain 
=> NoClassDefFoundError: /\commons-cli/jar

D:\java\caja\svn-changes\pristine\ant-jars>java -cp .\*.*;..\third_party\java\jakarta_commons\*.* com.google.caja.plugin.PluginCompilerMain
=> Không tìm thấy lớp chính: com.google.caja.plugin.PluginCompilerMain

Dựa vào mã trong tệp build.xml, có cách nào để nó hoạt động không?

câu trả lời hay nhất

Java đang cố tải lớp org.apache.commons.cli.ParseException nhưng không thể tìm thấy nó. Điều này cho thấy rằng bạn chưa đặt đường dẫn lớp chính xác.

Lớp cụ thể này đến từ thư viện Apache Commons CLI, vì vậy hãy kiểm tra xem liệu có jar nào có tên cli.jar hay commons-cli.jar hay thứ gì tương tự không. nó có thể được đặt ở một nơi riêng biệt lib trong thư mục. Nếu có các lọ khác ở cùng vị trí, bạn cũng có thể cần thêm chúng vào.

EDIT: Nhìn vào tệp build.xml, nó sử dụng đường dẫn lớp sau:

  

















Vì vậy, khi gọi java bạn cần đưa tất cả các lọ này vào cp các thông số.

EDIT # 2: Như Ash đã chỉ ra, bạn không thể chuyển đổi -cp-cái lọ được sử dụng cùng nhau, vì vậy bạn cần phải pluginc. cũng như chỉ định thủ công lớp chính (vì vậy java -cp ...;pluginc.jar com.google.classname -i v.v.). Có lẽ việc bắt kiến ​​​​làm việc có thể dễ dàng hơn là thực hiện tất cả những việc này một cách thủ công;)

Giới thiệu về java - Không thể chạy chương trình java! NoClassDefFoundError? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/2865183/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress