我有java控制台应用程序,将文本写入命令行。当我使用jar文件时,它工作正常。但是当我创建exe文件并使用它时,应用程序不会在命令行中写入任何内容。如果我用cmd myapp.exe writeSomething > output.txt
写,我可以在output.txt中看到输出文本。我需要做什么才能开始将myapp.exe写入命令行?
我正在使用launch4j-maven-plugin。
这是我的配置:
<plugin>
<groupId>com.akathist.maven.plugins.launch4j</groupId>
<artifactId>launch4j-maven-plugin</artifactId>
<version>1.5.2</version>
<executions>
<execution>
<id>l4j-clui</id>
<phase>package</phase>
<goals>
<goal>launch4j</goal>
</goals>
<configuration>
<headerType>gui</headerType>
....
答案 0 :(得分:1)
您的POM文件应包含类似
的内容<plugin>
<groupId>com.akathist.maven.plugins.launch4j</groupId>
<artifactId>launch4j-maven-plugin</artifactId>
<executions>
<execution>
<id>l4j-clui</id>
<phase>package</phase>
<goals><goal>launch4j</goal></goals>
<configuration>
<headerType>console</headerType>
....
</configuration>
行<headerType>console</headerType>
是至关重要的一行。
因此,它会将EXE文件生成为控制台应用程序,而不是GUI应用程序。
有关详细信息,请参阅https://github.com/lukaszlenart/launch4j-maven-plugin。