[英]Could not find or load main class- I cannot run my .jar file created from Ant
我已經為此苦苦掙扎了兩天。 我創建了一個非常簡單的HelloWorld類,以測試是否可以正常運行,但無法運行。 我收到錯誤消息-無法找到或加載主類...它可以從Eclipse運行或從腳本運行任務。 但是雙擊.jar或從CMD運行它會給我錯誤。 此錯誤的可能原因有哪些? 類路徑? 環境變量? 目錄結構? 請幫忙!
package com.hellojava;
public class HelloWorld {
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
我的build.xml
<project name="TestProject" basedir="." default="main">
<property name="src.dir" value="src"/>
<property name="build.dir" value="build"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property name="jar.dir" value="${build.dir}/jar"/>
<property name="main-class" value="com.hellojava.HelloWorld"/>
<target name="clean">
<delete dir="${build.dir}"/>
</target>
<target name="compile">
<mkdir dir="${classes.dir}"/>
<javac srcdir="${src.dir}" destdir="${classes.dir}"/>
</target>
<target name="jar" depends="compile">
<mkdir dir="${jar.dir}"/>
<jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}">
<manifest>
<attribute name="Main-Class" value="${main-class}"/>
</manifest>
</jar>
</target>
<target name="run" depends="jar">
<java jar="${jar.dir}/${ant.project.name}.jar" fork="true"/>
</target>
<target name="clean-build" depends="clean,jar"/>
<target name="main" depends="clean,run"/>
run:
[java] Hello World!
main:
BUILD SUCCESSFUL
Total time: 5 seconds
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.2
Created-By: 1.7.0_11-b21 (Oracle Corporation)
Main-Class: com.hellojava.HelloWorld
**編輯:java -jar TestProject.jar可以,但是javaw -jar TestProject.jar不能。 但是,我解決了問題-請參閱我發布的答案。
運行jar文件的常用語法是java -jar TestPractice.jar 。 如果失敗,則需要進行一些分析。
如果一切正常,您的程序將運行。
有關更多信息,請看一下如何使用Ant創建捆綁的可運行jar
問題解決了!
我必須將注冊表更改為正在使用的正確Java版本。 它設置為我的comp中的Java的早期版本。
另外,我注意到javaw -jar file.jar對我不起作用,而java -jar file.jar卻對我有效。 我通過“ open with”更改了打開.jar文件的程序,並選擇了Java而不是javaw。 現在,這解決了問題-我確實還有一個問題。 我想知道為什么javaw不起作用,但是現在我很高興這可以起作用:)
我有同樣的問題。 應用程序在我的PC上運行正常,但是在某些PC上,我遇到相同的錯誤。 嘗試在您的應用無法正常運行的機器上升級Java運行時。 例如,我使用JRE7,並且在無法使用應用程序的PC上安裝了Java 1.6。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.