我试图导出一个Runnable罐,以便运行我的项目与. bat文件,但是当试图导出一个Runnable罐它失败与按摩:
“Jar创建失败。有关更多信息,请参阅详细信息。”
使用Windows Server 2012,最新的eclipse,jdk和jre.清理不会改变任何东西,也不会将项目复制到新的项目。
降到1.8也没有帮助,我在过去的几个小时里看了一些建议,没有任何帮助。
当然,我的跑步者中有静态void main(String[]args)。java类,如果您在Eclipse中单击“运行”(使用相同的运行配置),它将非常好地工作。
到目前为止还找不到解决办法。
6月12日——更新:根据霍尔格的要求添加出口流程的截图。
根据Akshay Bahadur的建议,我也尝试了新的工作空间,同样的结果。
https://s3.amazonaws.com/stackover/Screenshot_141.png
https://s3.amazonaws.com/stackover/Screenshot_142.png
https://s3.amazonaws.com/stackover/Screenshot_143.png
6/12-第二次更新:添加运行配置:https://s3.amazonaws.com/stackover/Screenshot_149.png
7/12-第3次更新:添加关于Eclipse:
Eclipse IDE for Java开发者版本:Oxygen。1a版本(4.7.1a)构建id:20171005-1200操作系统:Windows Server 2012 R2,v.6.3,x86_64/win32
https://s3.amazonaws.com/stackover/Screenshot_155.png
main()函数是纯Java,没有Maven或Gradle:
public static void main(String[] args) {
boolean errorNotHappened = true;
boolean errorWithMailNotHappened = true;
boolean performDownload = true;
boolean performEmailSent = true;
boolean performDataManipulation = true;
System.out.println("***~~~*** Starting job. If you want more details - turn on debug mode");
//Downloader d = new Downloader();
printMsg("Date to use with files: "+getDateToUse());
printMsg("Write mail for date: "+getYasterdayNiceDate());
if (performDownload)
{
Downloader d = new Downloader();
d.connectAnd(); //connect to pair server
errorNotHappened = d.downloadFiles();
d.disconnectFromServer();
}
if (errorNotHappened && performDataManipulation)
{
Manipulator m = new Manipulator();
errorNotHappened = m.work();
m.terminateManipulator();
}
if (performEmailSent)
{
GoogleMailer gmail = new GoogleMailer();
gmail.startMailingService();
if (errorNotHappened)
errorWithMailNotHappened = gmail.sendMailWithAttach();
else
gmail.sendFailedMail();
if(!errorWithMailNotHappened)
{
gmail.sendFailedMail();
}
}
System.out.println("***~~~*** Job ended.");
}
我的情况可能不完全适用于你的情况,但考虑到这个问题是我在试图解决问题时第一个出现的问题,我将分享我的经验:
如果在使用Java10JDK编码时遇到类似的问题,这可能很有用。
我在Eclipse中开发了一个普通的Java项目(Windows版本:Oxygen.3a Release(4.7.3a)),它不允许我将其导出为可运行的JAR,错误消息为运行配置“未选择任何资源”(表示所选入口点中没有公共静态void main(String[]args))。我的机器上有最新的JDK(Java10),但我是为Java8编码的(您可以在Eclipse的设置中设置兼容性)。
在浏览帖子时,我发现了一些与Java9有关的问题,因此我最终决定下载“旧Java”版本(又名.java8)。所以,我所做的是:
1。只需下载Java8JDK
2。更新my JAVA_HOME变量以指向新安装的版本,而不是JAVA 10
3。从已安装的JRE中删除Java 10
完成这些步骤后,我运行了代码,然后在运行时遇到了一些正则表达式的问题(我使用了Java不喜欢的、但在Java 10中似乎是允许的无界外观),我将它们更改为有界的
然后,出口终于再次奏效。请注意,Java版本(来自Java10JDK)是在:Project中设置的
对于Java编译器,我已经将“从执行环境中使用合规性”的勾选框设置为Java1.8。
所以我有点困惑,为什么兼容模式在实际的Java8版本中似乎不起作用。我目前唯一能给出的解释是,要么我忘了在设置中的另一个位置切换版本,要么导出可能依赖于我在安装过程中可能获得的一些Java 10不支持的插件(注意:这是我大约一个月前安装的eclipse的“新”安装)
太长别读Java8 JDK为我修复了它。
通过将项目导出到常规Jar文件(不像我最初尝试的那样可运行),并通过以下命令从CMD激活,我成功地完成了工作:
java -cp "C:\Users\Administrator\Desktop\runDebug\rundebug.jar";"C:\Users\Administrator\Desktop\runDebug\activation.jar";"C:\Users\Administrator\Desktop\runDebug\commons-net-3.1.jar";"C:\Users\Administrator\Desktop\runDebug\mail.jar" pairbb.Runner
我已将此命令写入BAT文件,并将此BAT文件设置为windows计划的任务。所以现在我通过这种方式得到了我需要的东西,但我仍然无法将其导出为可运行的罐子。
我解决了这个问题,我将项目导出为存档文件。然后,我打开了一个新的工作区,并将文件导入到存档的项目中。在那之后,我尝试将项目导出为可运行的jar,两次尝试后,jar将按原样运行。
我仍然不知道确切的原因是什么,但我希望遇到同样问题的人会觉得这很有帮助。
看见
Eclipse无法创建可运行的jar-未选择任何资源
问题内容: 当我尝试将项目导出为可运行的jar时,Eclise给我以下错误: 未选择资源。 该项目在Eclipse中运行良好,我已经尝试在导出之前清理该项目,但这没有用。 有想法该怎么解决这个吗。 问题答案: 我解决了问题,将项目导出为存档文件。然后,我打开了一个新的工作区,并导入了已归档的项目。之后,我尝试将项目导出为可运行的jar,两次尝试后,jar会按原样运行。 我仍然不知道确切原因是什么,
问题内容: 我在将当前项目提取到可执行jar文件时遇到问题。当我在日食中按下运行按钮时,一切正常,但是当我这样做时 然后启动.jar文件;我唯一得到的是带有灰色画布的窗口。它应该启动我编写的游戏(spaceInvaders)。 这是我上载项目的github的链接。我真的不知道错误在哪里,在哪里看。在我的代码中?在我安装的JRE / JDK中?创建罐子时我做错什么了吗? 请帮忙 -。- 问题答案:
我有一个java项目。我想把它导出到可运行的jar文件。 我用eclipse来做这件事。 但当我运行创建的jar文件时,我会收到(系统找不到指定的路径)。 如何在任何地方导出文件夹以运行success jar文件?
我完全误解了关于将项目导出到JAR的一些事情。 2事情正在发生。
我尝试将一个具有不同库的Java项目导出到一个可运行的JAR文件中,其中包括一个JavaFX GUI和许多不同的东西。当我在eclipse中运行我的项目时,没有问题。但是,当我试图将它导出到一个可运行的JAR文件,然后我尝试启动时,它从来没有打开一个窗口,只有一个进程在后台运行。 我不知道如何更好地描述我的问题。但也许你已经可以帮我了解这些信息了。 (使用eclipse)
我知道这个问题已经问过很多次了,但这样的回答没有帮助 有人能告诉我在eclipse导出过程中应该使用什么设置吗?