Maven 2 Maven构建生成空Jar

Maven 2 Maven构建生成空Jar,maven-2,maven,Maven 2,Maven,我是马文的新手,我正在努力做到这一点 我一直在试图弄明白为什么mvn包会产生一个空罐子。我完全按照指示去做,但不起作用 我做了archtype:生成目标。在/bin中创建my app项目结构的。然后当我试图运行mvn包时,它说 [INFO]无法执行mojo:resources。它需要具有现有采购订单的项目 m、 xml,但构建没有使用xml 我尝试了几条建议,最后尝试将pom.xml文件直接放在/bin中我的应用程序项目中更高一级的位置 现在mvn包工作了 已在与我的应用程序相同的目录中创建目标

我是马文的新手,我正在努力做到这一点 我一直在试图弄明白为什么mvn包会产生一个空罐子。我完全按照指示去做,但不起作用

我做了archtype:生成目标。在/bin中创建my app项目结构的。然后当我试图运行mvn包时,它说

[INFO]无法执行mojo:resources。它需要具有现有采购订单的项目 m、 xml,但构建没有使用xml

我尝试了几条建议,最后尝试将pom.xml文件直接放在/bin中我的应用程序项目中更高一级的位置

现在mvn包工作了

已在与我的应用程序相同的目录中创建目标。但是jar是空的…没有任何类文件,试图执行它时抛出了classnotfoundexception

此外,mvn应该只在/bin内工作。至少我是这样。但我看到了几个示例,其中mnv命令是从随机目录执行的,如

还有,如何在maven上创建多模块项目


有什么建议吗?

我认为您试图在Maven的
bin
目录中运行Maven。您应该切换到生成的
my app
目录并在那里运行它。Maven需要与pom.xml相关的非常特定的项目结构。当您复制pom.xml时,您的java文件和资源被留在了我的应用程序中,所以Maven没有找到任何文件和资源,并生成了空jar

  • 安装Maven之后,您应该立即将其添加到操作系统的路径中。这是一个操作系统练习,与maven无关,但如果您让我们知道您在使用什么,我们肯定可以帮助您
  • 完成#1后,您将能够在任何地方运行maven。这就是将其添加到路径所做的。但是,只有在从包含名为pom.xml的文件的目录中运行构建时,才能运行构建(尽管也有命令行参数允许您进行更改)
  • 当您从原型生成项目时(使用
    mvn-archetype:generate
    ),它会为您创建一个项目目录,并在其中放置pom.xml和一些文件夹和文件。阅读#2之后,您应该意识到这意味着在
    mvn原型:generate
    之后,您需要
    cd
    。然后,您就可以构建maven项目了
  • 当您在项目目录中时(请记住,pom.xml就在那里),
    mvn包
    将构建一个JAR(或WAR、EAR、bundle等等),而
    mvn clean
    将删除所有构建工件,只留下源代码
  • 在掌握基本知识之前,不要担心多模块项目。不,真的,直到你有相当多的基础了。只是现在还不用担心

  • 如果有什么不清楚的地方,就问吧。

    maven希望源文件出现在某个位置。如果您的设置混乱(我认为是这样),那么您需要使用元素显式地提供对其位置的引用


    然而,即使在一切都是正确的情况下,它也发生过一次。在Mac上工作,但在Linux上生成空jar。添加元素明确地修复了它。

    1。你有一些源文件(java类?2.你的源文件夹是否标记为源文件夹?3.你可以发布你的pom吗?4.你是在控制台上使用IDE还是Maven?非常感谢Ryan。我已经准备好了。还可以配置多模块prj。