Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何查找Netbeans用于运行应用程序的命令_Java_Netbeans_Netbeans 8 - Fatal编程技术网

Java 如何查找Netbeans用于运行应用程序的命令

Java 如何查找Netbeans用于运行应用程序的命令,java,netbeans,netbeans-8,Java,Netbeans,Netbeans 8,我在Netbeans中有一个项目,它使用我不熟悉的Netbeans特性,因此我不确定如何移动构建并在其他地方运行它 要在Netbeans中打开项目,我被告知要执行“文件->项目组->新组->自由组”,然后执行“文件->打开项目”并选择项目。这个项目有很多子项目(模块?)。高级的一个显示有一个图标,看起来像两个金色的拼图块,我可以打开其中的模块子项目,它显示有灰色的拼图块图标。我认为这个项目不是NetBeans的“Java项目”类型 要运行它,我可以右键单击项目面板中的顶级黄金拼图项目条目并选择“

我在Netbeans中有一个项目,它使用我不熟悉的Netbeans特性,因此我不确定如何移动构建并在其他地方运行它

要在Netbeans中打开项目,我被告知要执行“文件->项目组->新组->自由组”,然后执行“文件->打开项目”并选择项目。这个项目有很多子项目(模块?)。高级的一个显示有一个图标,看起来像两个金色的拼图块,我可以打开其中的模块子项目,它显示有灰色的拼图块图标。我认为这个项目不是NetBeans的“Java项目”类型

要运行它,我可以右键单击项目面板中的顶级黄金拼图项目条目并选择“运行”。当我这样做时,需要一段时间来构建,然后运行,一切都很好

现在,我想将更新后的软件移动到网络共享,并在其他计算机上运行它。我相信另一台计算机没有NetBeans或jdk,只有jre

在项目目录的根目录中有一个nb_modules目录,其中包含nb_modules\harness\suite.xml,我认为(不是100%确定)是构建xml。除其他条目外,它还包含以下条目:

   <target name="run" depends="build,-jdk-init" description="Runs this suite in place.">
      <ant antfile="${harness.dir}/run.xml" target="run">
         <reference refid="cluster.path.id"/>
      </ant>
   </target>

run.xml中包含以下目标:

<target name="run" depends="-prepare-as-app,-prepare-as-platform">
    <touch file="${cluster}/.lastModified"/> <!-- #138427 -->
    <property name="run.args" value=""/>
    <property name="run.args.ide" value=""/>
    <property name="run.args.extra" value=""/>
    <condition property="run.args.mac" value="-J-Xdock:name='${app.name}'" else="">
        <os family="mac"/>
    </condition>
    <exec osfamily="windows" executable="${run.exe}" failonerror="no">
        <arg value="--jdkhome"/>
        <arg file="${run.jdkhome}"/>
        <arg line="${run.args.common}"/>
        <arg line="${run.args.prepared}"/>
        <arg line="${run.args}"/>
        <arg line="${run.args.extra}"/>
        <arg line="${run.args.ide}"/>
    </exec>
    <exec osfamily="unix" dir="." executable="sh" failonerror="no">
        <arg value="${run.sh}"/>
        <arg value="--jdkhome"/>
        <arg file="${run.jdkhome}"/>
        <arg line="${run.args.common}"/>
        <arg line="${run.args.prepared}"/>
        <arg line="${run.args}"/>
        <arg line="${run.args.extra}"/>
        <arg line="${run.args.mac}"/>
        <arg line="${run.args.ide}"/>
    </exec>
</target>

在项目目录的根目录中,我还有一个build目录,我认为它是构建内容的地方,其中有一堆jar。有一个…/build/cluster/modules/目录和一个…/build/cluster/core/locale/目录,其中只有一个文件:core\u app\u all\u gui.jar,我假设它是主jar

如果我尝试执行
java-jarcore\u app\u all\u gui.jar
我会得到“core\u app\u all\u gui.jar中没有主清单属性”,因此我想知道是否需要执行
java-cp core\u app\u all\u gui.jar包.MainClass
格式。由于suite.xml/run.xml不在构建区域中,我不确定是否应该使用它们。我假设它们是ant脚本,尽管我不确定。我不确定我要运行此操作的计算机是否有ant

对于我的特定用例,如果您可以解释如何使用上面的xml数据来帮助确定适合我的命令行,那就好了。不过,如果能找到一个对每个人都适用的通用答案,那就太好了。我只想在另一台计算机上运行它


我在这里找到的所有其他答案,包括StackOverflow,都是专门针对传统的Netbeans Java项目的,这些项目创建了一个dist/myapp.jar,只需
Java-jar myapp.jar
即可运行。因为这不能回答我的问题,所以它们不是重复的。

您的项目看起来像一个ant项目。仅仅基于ant脚本,很难弄清楚它在运行时使用了什么命令。要让ant项目检查NetBeans用于午餐应用程序的命令,请转到工具->选项->Java->ant,并将详细程度设置为调试

从NetBeans下载应用程序后,您应该查看输出窗口(ctrl-4)中的最后一个命令,或者找到正在执行的关键字

例如,在输出窗口中从源代码(NetBeans使用ant脚本)编译后以常规模式运行NetBeans时,我发现以下几行:

...
Current OS is Windows 10
Executing 'D:\GITHUB\OtherRepositoryes\NetBeans\nbbuild\netbeans\bin\netbeans64.exe' with arguments:
'--jdkhome'
'C:\Program Files\Java\jdk1.8.0_231'
'--userdir'
'D:\GITHUB\OtherRepositoryes\NetBeans\nbbuild\testuserdir'
'-J-Dnetbeans.full.hack=true'
The ' characters around the executable and arguments are
...
因此,要在ant脚本之外运行它,我只需运行:

D:\GITHUB\OtherRepositoryes\NetBeans\nbbuild\netbeans\bin\netbeans64.exe --jdkhome "C:\Program Files\Java\jdk1.8.0_231\jre" --userdir D:\GITHUB\OtherRepositoryes\NetBeans\nbbuild\testuserdir -J-Dnetbeans.full.hack=true