在运行时编译java文件可以在eclipse上工作,但不能从导出的可运行jar文件中工作

在运行时编译java文件可以在eclipse上工作,但不能从导出的可运行jar文件中工作,java,eclipse,jar,compilation,javacompiler,Java,Eclipse,Jar,Compilation,Javacompiler,我试着在运行时从代码编译一个.java文件,所有的东西都可以在eclipse上正常工作。但是当我尝试导出项目时,生成一个可运行的jar文件,然后执行jar。。。嗯,什么也没发生。 为什么它不能从可运行的jar文件中工作 下面是我在jar执行后在java控制台上看到的内容: 30/10/15 13:47:19,597 iconservicesagent[265]: Failed to get the real path for: /var/folders/xd/jg7p911x3bd76jyy0

我试着在运行时从代码编译一个.java文件,所有的东西都可以在eclipse上正常工作。但是当我尝试导出项目时,生成一个可运行的jar文件,然后执行jar。。。嗯,什么也没发生。 为什么它不能从可运行的jar文件中工作

下面是我在jar执行后在java控制台上看到的内容:

30/10/15 13:47:19,597 iconservicesagent[265]: 
Failed to get the real path for: /var/folders/xd/jg7p911x3bd76jyy071hl6lw0000gn/
C/com.apple.iconservices
这里是我用来编译源文件的java代码:

try {
         JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
         DiagnosticCollector<JavaFileObject> diagnostics = new DiagnosticCollector<JavaFileObject>();
         StandardJavaFileManager fileManager = compiler.getStandardFileManager(diagnostics, null, null);
         Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjectsFromStrings(Arrays.asList("generated/Crilin.java"));
         JavaCompiler.CompilationTask task = compiler.getTask(null, fileManager, diagnostics, null,
                 null, compilationUnits);
        task.call();

            fileManager.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

好问题,我会一步一步地说明:

一,。在Eclipse中突出显示所需的程序,然后单击Run

二,。下列表运行配置并单击该选项

三,。如果有多个类,请确保选择正确的类作为主类

四,。命名程序,然后应用更改

五,。然后右键单击项目名称并单击导出

六,。在Java部分下,单击Runnable JAR文件

七,。然后通过下拉框找到您的程序

八,。然后将其导出到希望保存的任何位置


完成所有这些之后,程序应该从Eclipse外部运行

好问题,我会一步一步地说明:

一,。在Eclipse中突出显示所需的程序,然后单击Run

二,。下列表运行配置并单击该选项

三,。如果有多个类,请确保选择正确的类作为主类

四,。命名程序,然后应用更改

五,。然后右键单击项目名称并单击导出

六,。在Java部分下,单击Runnable JAR文件

七,。然后通过下拉框找到您的程序

八,。然后将其导出到希望保存的任何位置


完成所有这些之后,程序应该从Eclipse外部运行

乔希,你误解了我的问题!我已经导出了可运行的Jar文件。问题是它没有生成运行时创建的.java的.class,而不是在eclipse上生成的。这是一个非常有趣的问题,如果可能的话,你能包括你所有的代码吗?不需要道歉。代码就是发布的代码。你可以自己试试。如果要尝试,只需更改生成的字符串/Crilin.java以及要编译的.java文件的路径。从代码中我可以看到,问题是一旦导出导出程序的文件路径和生成的/Crillin.java。在Eclipse中,它可以工作,因为它们位于同一个src文件夹中,但一次也不能导出。我建议看一下,因为这里有很多建议的方法,你可以看到哪些最适合你。如果这不起作用,可以重新发布你的问题,因为它已经出现了一段时间,但没有成功。希望这有帮助!不,对不起。不是我要找的。乔希,你误解了我的问题!我已经导出了可运行的Jar文件。问题是它没有生成运行时创建的.java的.class,而不是在eclipse上生成的。这是一个非常有趣的问题,如果可能的话,你能包括你所有的代码吗?不需要道歉。代码就是发布的代码。你可以自己试试。如果要尝试,只需更改生成的字符串/Crilin.java以及要编译的.java文件的路径。从代码中我可以看到,问题是一旦导出导出程序的文件路径和生成的/Crillin.java。在Eclipse中,它可以工作,因为它们位于同一个src文件夹中,但一次也不能导出。我建议看一下,因为这里有很多建议的方法,你可以看到哪些最适合你。如果这不起作用,可以重新发布你的问题,因为它已经出现了一段时间,但没有成功。希望这有帮助!不,对不起。这不是我要找的。