# Apache Ant - Fehler: Hauptklasse konnte nicht gefunden oder geladen werde



## Syrghar (5. Jun 2015)

Abend,

befasse mich gerade zum ersten Mal mit Apache Ant. Hat bisher auch ganz gut geklappt.
Stehe nun aber, wenn ich über Ant die Application ausführen lassen möchte, vor einem Problem. Und zwar erhalte ich folgende Fehlermeldung.

Fehler: Hauptklasse ue05a_bergeru14.HelloWorld konnte nicht gefunden oder geladen werden

Verstehe einfach nicht wo der Fehler ist.
Habe angenommen, dass der Fehler möglicherweise am Attribut des Manifest liegt. Und daher auch verändern versucht. Jedoch ohne Erfolg.
Muss auch dazu sagen, dass ich eine Vorlage hatte, nachder ich das gemacht habe. Eigentlich selbes Beispiel, nur geht es bei mir nicht.
Google hat mir auch leider nicht wirklich weitergeholfen, daher frag ich hier.

HIer mal das Ant-File und die Struktur meines Projekts.

```
<project name="ue05a_bergerru14_ANT">

	<property name ="target_dir" value="build"/>
	
	<!-- create directory structure -->
	<target name="prepare">
		<mkdir dir="${target_dir}"/>
		<mkdir dir="${target_dir}/classes"/>
		<mkdir dir="${target_dir}/jar"/>
	</target>
	
	<!-- cleans directory structure -->
	<target name="clean">
		<delete dir="build"/>
	</target>
	
	<!-- compiles Java classes -->
	<target name="compile" depends="prepare">
		<javac srcdir="src" destdir="build/classes" includeantruntime="false"/>
	</target>
	
	<!-- creates a jar file -->
	<target name="jar" depends="compile">
		<jar destfile="build/jar/HelloWorld.jar"  basedir="build/classes/at/fhj/swd/konfmana">
			<manifest>
				<attribute name="Main-Class" value="ue05a_bergeru14.HelloWorld"/>
			</manifest>
		</jar>
	</target>
	
	<!-- runs application -->
	<target name="run" depends="jar">
		<echo message="Start application - HelloWorld"/>
		<java jar="build/jar/HelloWorld.jar" fork="true"/>
	</target>
</project>
```


----------



## 127.0.0.1 (8. Jun 2015)

Hi,

also so wie ich das sehe liegt dein Fehler in der Zeile

```
<attribute name="Main-Class" value="ue05a_bergeru14.HelloWorld"/>
```

In deinem Screenshot sehe ich dass dein Projekt selber zwar "ue05a_bergerru14" heißt, aber deine HelloWorld Klasse innerhalb eines bestimmten Package liegt.
Das bedeutet, du must den Pfad zur Main Class komplett mit Package Struktur angeben.

Also:

```
<manifest>
 <attribute name="Main-Class" value="at.fhj.swd.konfmana.HelloWorld"/>
</manifest>
```

*Bzw. schau dir mal die Package Deklaration in deiner HelloWorld Klasse an (steht ganz oben), die must du nehmen!*
Was mich aber noch wundert, du hast eine Klasse mit dem Namen "HalloWorldMain"..... Ist das deine Klasse mit der Main Methode? Wenn ja, musst du natürlich den Pfad zu dieser Klasse angeben 

Übrigens: Dein Projekt heißt "ue05a_bergerru14" (laut Screenshot) und nicht "ue05a_bergeru14" (Auf Tippfehler achten!!!)

Grüße


----------

