“Could not find main method from given launch conf

2020-03-13 06:20发布

I've got a project in which I'm using Java+Scala+Slick2D.

The project itself runs well when launched from within eclipse. But when I try to make a jar file, it just refuses to work. Here's the error I keep getting when trying to export it as a Runnable jar:

enter image description here

And if I try to export into just a Jar file, it's unable to find the Main Class:

enter image description here

There is, of course, a main class in game.TicTacGame. But it refuses to acknowledge it. I tried creating an executable with a simple Hello World project and it worked fine. It even detects the main class. Why is Eclipse not detecting the main class in this case?

PS: I've also tried extracting the .jar file created, editing the manifest.mf file to add the Main-Class: game.TicTacGame, enter two new lines and recreate the jar. Then it gives me a corrupted jar file error.

I'm at my wits end and would appreciate any help in this regard. I'm using Windows 7 x64 with Eclipse Juno, Java 1.7 and Scala 2.10

Edit: The Main class is in Java

4条回答
Ridiculous、
2楼-- · 2020-03-13 06:44

I just encountered the same problem, and here is how I solved it:

  1. Open "Run As" --> "Run Configuration" on the project you want to export

  2. Click "Search" for Eclipse to refresh the list of main class

  3. Then export Runnable JAR file again, and everything goes smoothly.

查看更多
孤傲高冷的网名
3楼-- · 2020-03-13 06:50

I recently figured a better way to do this using 'Runnable jar export' which might help you. In order for your main method to be listed in that list, you need to add the main method to the Run Configuration list.

This way it's simpler to create a runnable jar especially if you want to do it repeatedly.

查看更多
干净又极端
4楼-- · 2020-03-13 06:51

Well, got the same Problem and solved it by selecting my GUI to export and not the whole Project.

查看更多
狗以群分
5楼-- · 2020-03-13 06:54

Okay, I got it to work. Apparently, all I needed to do was restart eclipse. And then magically, it started detecting the Main class:

enter image description here

But the jar started giving me noClassDefFound errors for the Slick2d, LWJGL and other libraries. That's where JarSplice came to my rescue. I exported the project as before, with all the libraries and resources.

Then, I fired up JarSplice and added everything as follows:

  1. Go to "Add Jars" and add the project.jar just created through eclipse, add lwjgl.jar, slick.jar and scala-library.jar. lwjgl and slick should be in your project lib folder where you would have imported them. scala-library should be available wherever it says it is. Make sure you add that as wellenter image description here
  2. Next, when I tried to "Add Natives" it kept giving me "Duplicate library" error. So I removed them all and kept it empty.
  3. Next in "Main Class", I entered the path to the main class i.e. game.TicTacGame
  4. Finally, "Create Fat Jar". And it works perfectly :)
查看更多
登录 后发表回答