Java 如何让我的程序在eclipse之外运行

Java 如何让我的程序在eclipse之外运行,java,eclipse,export,processing,Java,Eclipse,Export,Processing,我在eclipse中有一个项目。当我点击IDE中的绿色圆圈播放按钮时,它完成了我想要它做的一切——打开窗口,播放内容,一切。但是,尽管我可能会尝试,但我不知道如何让它在eclipse之外做到这一点 我的项目使用processing.core库来完成一些工作,但我无法让项目在处理IDE中运行,因为我的一个类不能有效替代Collections.sort(List)的类型参数。如果有人知道如何让它从处理IDE导出,那就太好了 我需要能够通过电子邮件/上传到互联网/以其他方式传输某种文件/文件夹/网页,

我在eclipse中有一个项目。当我点击IDE中的绿色圆圈播放按钮时,它完成了我想要它做的一切——打开窗口,播放内容,一切。但是,尽管我可能会尝试,但我不知道如何让它在eclipse之外做到这一点

我的项目使用processing.core库来完成一些工作,但我无法让项目在处理IDE中运行,因为我的一个类不能有效替代
Collections.sort(List)
的类型参数。如果有人知道如何让它从处理IDE导出,那就太好了

我需要能够通过电子邮件/上传到互联网/以其他方式传输某种文件/文件夹/网页,允许收件人在没有太多技术知识或工作的情况下,查看一个窗口或其他允许他们查看并与程序交互的东西,就像我能够与Eclipse在按下顶部的play按钮时启动的窗口交互一样

我尝试了几种不同的方法来实现这一点,但没有一种有效。我尝试导出一个可运行的
.jar
,但它不允许我包含引用的库。我尝试了一个普通的
.jar
,但我不知道如何将它打包成能够查看它所需要的东西。我甚至尝试过为它使用fat-jar eclipse插件,但我遇到了一些问题,无法找到项目的主
PApplet

如果有人知道如何实现我的愿望,或者知道如何实现我的愿望的好教程,我将非常感谢任何形式的帮助或指导

谷歌在提供这个问题的解决方案方面毫无帮助,因为我发现的大多数结果都是其他人问了相同或类似的问题,然后要么没有答案,要么我已经试过了,没有明确指出为了完成任务,我需要给它什么样的选项或设置

我正在使用版本2.0b7中的
processing.core.jar
,但我认为这不会有什么不同,尽管如果我想不出其他任何东西,我计划尝试使用不同的版本

我的项目文件夹副本可在以下位置找到:


我所有的数据都是我从文件的后续版本连接在一起的东西,创建一个简单的jar。创建批处理文件并指定类路径。保存批处理文件。运行批处理文件将运行应用程序

@ECHO OFF
set CLASSPATH=%CLASSPATH%;myjar1.jar;myjar2.jar;

java mypackage.MyClass

我在OSX上做了一个快速测试,不得不稍微调整一下您的eclipse项目:

  • 您正在使用绝对路径链接到.jar库。我建议使用与项目相关的库
  • 我遇到了一些内存问题,不得不添加几个编译器标志
  • 在Earthquaker.java中添加了一个main方法来初始化为应用程序
  • main看起来像这样:

    public static void main(String[] args) {
            PApplet.main(Earthquaker.class.getSimpleName());
        }
    
    在eclipse中,您可以通过文件>导出>Java>可运行jar文件导出可运行jar。以下是几个屏幕截图:

    就我个人而言,我更喜欢使用“将所需库复制到子文件夹…”选项,以防我需要更新一些独立于主应用程序.jar的依赖.jar

    为了便于参考,我上传了修改后的eclipse项目(JavaSDK需要更改)。导出的带有bash脚本的可运行jar可用

    下面是bash脚本本身,它也应该在Linux上运行:

    java -Xms128M -Xmx1024M -jar Processing-DataVisualization.jar
    

    非常酷的项目。顺便说一句。

    您将如何使用linux shell脚本来实现这一点?我在linux上,所以批处理无法工作。哪个shell?很可能您只需要删除“@echo off”并将类路径分隔符更改为:将所有jar放在lib目录中。$java-cp lib/*.jar mypackage.myclasse不用担心,很高兴它能工作。正如我所提到的,这个项目相当不错。作为补充说明,我最近不得不在windows上做类似的事情,但也使用本机库(jogl、opencv等)。如果将来需要这样做,请将本机库放在文件夹中(例如,
    /nativeLibs
    ),然后只需添加以下VM参数:
    -Djava.library.path=/nativeLibs
    )。