Issue
I have the following problem. I have a Java project in my NetBeans IDE 6.8. When I compile it and it produces a .jar file containing everything possible, the META-INF is not right. It doesn't contain the class to be executed - with main() method.
When I click the Run button inside the IDE, everything works. The settings of the project are also set the right way - pointing to a class in my project.
I tried adding a folder META-INF with manifest file but I didn't manage.
Is there a way to do this manually in NetBeans, because I found that if I add the missing Main class in the manifest, everything works.
(I suppose I hit some sort of bug...)
//edit: The result I'm after is that I want the jar that is created with the build of NetBeans to be executable with command:
Quote from Sun Documentation :
When the Main-Class is set in the manifest file, you can run the application from the command line:
java -jar app.jar
Solution
I'm going to make a summary of the proposed solutions and the one that helped me!
After reading this bug report: bug in the way NetBeans 6.8 creates the jar for a Java Library Project.
Create a manifest.mf file in my project root
Edit manifest.mf. Mine looked something like this:
Manifest-Version: 1.0 Ant-Version: Apache Ant 1.7.1 Created-By: 16.3-b01 (Sun Microsystems Inc.) Main-Class: com.example.MainClass Class-Path: lib/lib1.jar lib/lib2.jar
Open file /nbproject/project.properties
Add line
manifest.file=manifest.mf
Clean + Build of project
Now the .jar is successfully build.
Thank you very much vkraemer
Answered By - Leni Kirilov
Answer Checked By - Cary Denson (JavaFixing Admin)