una seguridad por parametros idse formada error ejecutar ejecucion desde desbloquear cómo configuracion con certificado bloqueado bloqueada archivo aplicación aplicacion java ant jar mainclass

java - seguridad - error al ejecutar un archivo jar



Problema al ejecutar un archivo Jar (2)

He compilado un proyecto de Java en un archivo Jar y tengo problemas para ejecutarlo.

Cuando corro:

java -jar myJar.jar

Obtuve el siguiente error

Could not find the main class: myClass

El archivo de clase no está en el directorio raíz del contenedor, así que he intentado cambiar la ruta de acceso de la clase principal para que coincida con la ruta al archivo de clase y recibo el mismo problema.

¿Debería aplanar la estructura del archivo? si es así, ¿cómo hago esto? Estoy usando Ant para construir el archivo Jar si eso es de alguna utilidad.

ACTUALIZAR

Aquí está el contenido del contenedor y las secciones relevantes de Ant, he cambiado el nombre de la empresa para la que trabajo a "org":

META-INF/ META-INF/MANIFEST.MF dataAccessLayer/ dataAccessLayer/databaseTest.class org/ org/eventService/ org/eventService/DatabaseObject.class org/eventService/DatabaseObjectFactory.class org/eventService/DbEventClientImpl$HearBeatMonitor.class org/eventService/DbEventClientImpl.class org/eventService/EmptyQueryListException.class org/eventService/EventHandlerWorkItem.class org/eventService/EventProcessor.class org/eventService/EventTypeEnum.class org/eventService/EventWorkQueue$MonitorThread.class org/eventService/EventWorkQueue$PoolWorker.class org/eventService/EventWorkQueue.class org/eventService/FailedToLoadDriverException.class org/eventService/IConnectionFailureListener.class org/eventService/InvalidEventTypeException.class org/eventService/JdbcInterfaceConnection.class org/eventService/NullArgumentException.class org/eventService/OracleDatabaseObject.class org/eventService/ProactiveClientEventLogger.class org/eventService/ProactiveClientEventLoggerException.class org/eventService/PropertyMap.class org/eventService/SQLServerDatabaseObject.class org/eventService/TestHarness.class org/eventService/Utilities.class

Y el objetivo de la hormiga:

<target name="compile" depends="init" description="compile the source "> <javac srcdir="src" destdir="bin" classpathref="project.class.path"/> </target> <target name="buildjar" description="build jar file" depends="compile"> <mkdir dir="dist"/> <jar destfile="dist/myJar.jar" basedir="bin" includes="**/*.class" > <manifest> <attribute name="Main-Class" value="org.eventService.ProactiveClientEventLogger"/> </manifest> </jar> </target>


Debe especificar su clase principal durante la creación de jar con ruta completa, algo así como:

<target name="jar" depends="compile"> <delete file="myJar.jar"/> <delete file="MANIFEST.MF"/> <manifest file="MANIFEST.MF"> <attribute name="Main-Class" value="my.package.myClass"/> </manifest> <jar destfile="myJar.jar" basedir="." includes="**/*.class" manifest="MANIFEST.MF" /> </target>


En su archivo de manifiesto, asegúrese de tener el atributo Main-Class configurado para el nombre de la clase que contiene su método main() . Por ejemplo, si el nombre calificado para el paquete de la clase es my.cool.Class , entonces, en su manifiesto JAR, Main-Class debe establecerse en my.cool.Class .

También se aseguró de tener una declaración de paquete en sus archivos .java (por ejemplo, en Class.java , asegúrese de tener el package my.cool; apropiado package my.cool; declaration). Además, asegúrese de que su jerarquía de directorios esté configurada correctamente ( my.cool.Class debe estar en $SRC/my/cool/Class.java ).