当前位置: 首页 > 知识库问答 >
问题:

Maven: Pom.xml Compile exec in Windows Dos-Shell

冯通
2023-03-14

我正在使用:

  • java版本"1.7.0_45"
  • Java(TM)SE运行时环境(构建1.7.0_45-b18)
  • JavaHotSpot(TM)64位服务器VM(构建24.45-b08,混合模式)

这是我第一次尝试使用 maven - 它似乎非常复杂:(

我想用https://github.com/squld/jircd

但是 POM(请参阅 URL 和标题“Maven 存储库”)不起作用(在使用“MVN 编译”之后)。所以我试图创建一个pom.xml - 这里是:

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>jircd</groupId>
<artifactId>jircd</artifactId>
<name>jircd</name>
<version>0.7.0-BETA</version>
<packaging>pom</packaging>

<distributionManagement>
    <site>
        <id>website</id>
        <url>scp://webhost.company.com/www/website</url>
    </site>
    <repository>
        <id>jp.kurusugawa.jircd</id>
        <name>jircd github repository</name>
        <url>file:./repository</url>
    </repository>
</distributionManagement>

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<developers>
    <developer>
        <name>squld</name>
        <url>http://kurusugawa.jp/author/squld/</url>
        <email>squld@kurusugawa.jp</email>
    </developer>
</developers>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
</build>

<modules>
    <module>jircd-server</module>
    <module>jircd-servlet</module>
    <module>jircd-groovy</module>
</modules>
</project>

嗯,“mvn编译”是成功的。下一步是“执行”jar文件,如jircd-server-0.7.0-BETA.jar。

我试图用“mvn exec:java”开始它。出现以下错误:

[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:java (default-cli) on project jircd: The parameters 'mainClass' for goal org.codehaus.mojo:exec-maven-plugin:1.2.1:java are missing or invalid -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginParameterException

我的问题是:“mvn exec:java”是你执行它的正确方式吗(在windows DOS-shell中;我不使用eclipse或类似的东西——批处理文件对我来说是可以的:))?如何在pom.xml中添加缺少的“mainClass ”?我试过了,但是没用。也许有人可以发布正确的pom.xml -那就太好了。

共有1个答案

颛孙哲
2023-03-14

你没有任何插件来执行你的编译结果。将此代码添加到< code >中

<plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.2.1</version>
            <executions>
                <execution>
                    <goals>
                        <goal>java</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <mainClass>com.example.Main</mainClass>
            </configuration>
        </plugin>

请注意,com.example.Main 是您的 Main 类,然后

mvn clean
mvn compile
mvn exec:java

试试吧

 类似资料:
  • 问题内容: 我想从Java程序中异步运行Shell脚本-即在Java程序开始执行该Shell脚本之后,它会继续执行其他操作-并且仅当Shell脚本返回对其的响应时才做进一步的工作..即,它不会显式停止并等待shell脚本的响应。 这可能/可行吗?如何实现这种功能? 基本上,我将使用一个将管理所有这些服务器的服务器来监视多个服务器-为此,它将在每个服务器上运行shell脚本…因为有许多服务器,因此在

  • 问题内容: 我正在尝试创建一个程序,允许我通过带有参数的终端(如果您想知道,它是用于树莓派的OmxPlayer)来执行命令,但是我希望能够在启动后与它进行交互命令。 例如,我要执行以下操作:omxplayer -win x1 y1 x2 y2,然后可以按“ p”暂停视频/音频媒体 我已经有了一些可以用参数启动omxplayer的东西(实际上是“ ls”,但是它应该以完全相同的方式工作),但是我不了

  • 问题内容: 我有一个由几个子项目组成的Gradle项目。我刚刚创建了一个新的应用程序,以添加对我想运行的交互式Groovy Shell的支持: 要么 因此,我新模块的build.gradle文件如下: 但是,当我跑步或得到类似以下信息时: 因此,交互式外壳似乎开始了,但立即退出了。 难道我做错了什么? 编辑 :将以下内容添加到build.gradle文件: 现在,从输入流中读取标准输入(由于注释)

  • 问题内容: 嗨,我正在使用ganymed-ssh2 Java库在Linux工作站中成功执行远程命令。 但是现在有一种情况,我需要执行命令,但这需要我输入一些密码…,例如: 我曾经以这种方式实现远程cmd执行: 恐怕无法使用此库执行需要密码的命令。 有人可以给我解决方案或替代方案,以允许这样做? 谢谢! 问题答案: 假设有一个,您应该能够将密码输入sudo命令。

  • 问题内容: 是否有类似python的交互式REPL模式的功能,但适用于Java?这样一来,例如,我可以键入一个窗口并立即获得结果,而无需所有这些公共的static voidnightmare()事情? 问题答案: 原始答案如下 您也可以使用Groovy Console。它是一个交互式控制台,您可以在其中进行所需的操作。由于Groovy还包括来自核心Java平台的类,因此您也可以使用这些类。

  • 问题内容: 我可以用来执行诸如“ ”和“ ”之类的shell命令,它们可以正常工作。 但是,当我使用“ ”,“ ”或“ ”时,它不会在标准输出中显示。 日志显示: 这是我的代码: 问题答案: @Adi Tiwari,我找到了原因。 不直接执行Shell命令,而是执行带有参数的可执行文件。“ ”是内置的shell命令。它实际上是带有option 的可执行文件参数的一部分。像这样的命令是实际的可执行文

  • 问题内容: 当我偶然发现一个我想阻止公司访问的邪恶网站时,我在绑定服务器上编辑了named.conf文件,然后更新了代理服务器黑名单文件。我想用一个bash脚本来自动化它。假设我的脚本称为“ evil-site-block.sh”,其中包含以下内容: 然后以 当我在远程计算机上查看named.conf的内容时,我看到: 我不知道如何将“ google.com”作为$ 1传递。 问题答案: 您的问题

  • 问题内容: 所以我有这段代码,我只想在另一个目录中列出保存的列表,其中php scrip在xampp文件夹中,并且保存到此路径: 我不知道为什么我不能让它继续工作,似乎输出为空,我真的混淆了它应该工作,或者我只是错了我需要一些帮助。 问题答案: 添加到shell命令的末尾以返回。 另外,如果运行PHP的用户没有足够的权限来查看中的输出,则上述代码将返回错误消息。