Java Maven是如何工作的?
我需要将我的Maven项目(用IDEA编写)发送给另一个人。所以我有一个问题:我到底应该发送哪些文件。据我了解,有: .idea文件夹、src文件夹和pom文件。之后,我只需要在另一台计算机上具有pom文件的目录中执行此命令: mvn安装 我已经建立了项目和jar文件,对吗 如果它是正确的,我有一个问题-我在本地maven存储库中什么都没有Java Maven是如何工作的?,java,maven,Java,Maven,我需要将我的Maven项目(用IDEA编写)发送给另一个人。所以我有一个问题:我到底应该发送哪些文件。据我了解,有: .idea文件夹、src文件夹和pom文件。之后,我只需要在另一台计算机上具有pom文件的目录中执行此命令: mvn安装 我已经建立了项目和jar文件,对吗 如果它是正确的,我有一个问题-我在本地maven存储库中什么都没有 [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ Pa
ragonCase ---
[WARNING] Using platform encoding (Cp1251 actually) to copy filtered resources,
i.e. build is platform dependent!
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ Paragon
Case ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ ParagonCase ---
[INFO] Surefire report directory: C:\Users\Kru\IdeaProjects\PopularWords\target\
surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running MainTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.118 sec
Results :
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ ParagonCase ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ ParagonCase ---
[INFO] Installing C:\Users\Kru\IdeaProjects\PopularWords\target\ParagonCase-1.2.
jar to C:\Users\Kru\.m2\repository\ru\nick\kru\ParagonCase\1.2\ParagonCase-1.2.j
ar
[WARNING] Failed to create parent directories for tracking file C:\Users\Kru\.m2
\repository\ru\nick\kru\ParagonCase\1.2\_remote.repositories
[INFO] Installing C:\Users\Kru\IdeaProjects\PopularWords\pom.xml to C:\Users\Kru
\.m2\repository\ru\nick\kru\ParagonCase\1.2\ParagonCase-1.2.pom
[WARNING] Failed to create parent directories for tracking file C:\Users\Kru\.m2
\repository\ru\nick\kru\ParagonCase\1.2\_remote.repositories
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.874 s
[INFO] Finished at: 2016-03-31T20:25:37+03:00
[INFO] Final Memory: 10M/155M
[INFO] ------------------------------------------------------------------------
你应该在你的本地.m2中有一些东西,但是你没有必要把它发送给你的搭档。如果Maven在.m2中找不到一个罐子,它就会去中央回购 如果你说你的应用程序有一些JAR是私有的,而这些JAR在任何central Maven repo中都不可用,那么你确实有问题。任何使用你的应用程序的人在构建时都必须满足依赖关系 如果你不能将你的应用程序放入GitHub,并让其他人通过签出成功构建它,那么你就做错了 我需要将我的Maven项目(用IDEA编写)发送给另一个人。所以我有一个问题:我到底应该发送哪些文件 您只需要发送
pom.xml
和文件夹src
。您不必发送.idea
文件夹,因为它是idea特定的,与Maven无关;因此,接收者可以选择自己喜欢的IDE
我已经建立了项目和jar文件,对吗
是的,你说得对
如果它是正确的,我有一个问题-我在本地maven存储库中什么都没有
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ Pa
ragonCase ---
[WARNING] Using platform encoding (Cp1251 actually) to copy filtered resources,
i.e. build is platform dependent!
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ Paragon
Case ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ ParagonCase ---
[INFO] Surefire report directory: C:\Users\Kru\IdeaProjects\PopularWords\target\
surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running MainTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.118 sec
Results :
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ ParagonCase ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ ParagonCase ---
[INFO] Installing C:\Users\Kru\IdeaProjects\PopularWords\target\ParagonCase-1.2.
jar to C:\Users\Kru\.m2\repository\ru\nick\kru\ParagonCase\1.2\ParagonCase-1.2.j
ar
[WARNING] Failed to create parent directories for tracking file C:\Users\Kru\.m2
\repository\ru\nick\kru\ParagonCase\1.2\_remote.repositories
[INFO] Installing C:\Users\Kru\IdeaProjects\PopularWords\pom.xml to C:\Users\Kru
\.m2\repository\ru\nick\kru\ParagonCase\1.2\ParagonCase-1.2.pom
[WARNING] Failed to create parent directories for tracking file C:\Users\Kru\.m2
\repository\ru\nick\kru\ParagonCase\1.2\_remote.repositories
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.874 s
[INFO] Finished at: 2016-03-31T20:25:37+03:00
[INFO] Final Memory: 10M/155M
[INFO] ------------------------------------------------------------------------
从以下日志输出可以看出,项目似乎已正确构建:
[信息]将C:\Users\Kru\IdeaProjects\PopularWords\target\ParagonCase-1.2.jar安装到C:\Users\Kru.m2\repository\ru\nick\Kru\ParagonCase\1.2\ParagonCase-1.2.jar
要验证这一点,您可以转到target
目录,查看jar文件是否存在
为什么不能在本地存储库中获取工件可能与Maven抱怨无法创建父目录时显示的警告有关:
[警告]无法为跟踪文件C:\Users\Kru.m2\repository\ru\nick\Kru\ParagonCase\1.2\u remote.repositories创建父目录
[信息]正在将C:\Users\Kru\IdeaProjects\PopularWords\pom.xml安装到C:\Users\Kru.m2\repository\ru\nick\Kru\ParagonCase\1.2\ParagonCase-1.2.pom
[警告]无法为跟踪文件C:\Users\Kru.m2\repository\ru\nick\Kru\ParagonCase\1.2\u remote.repositories创建父目录
所以我建议你调查一下为什么Maven不能创建thos目录。读一本关于Maven的好书。。。这对于堆栈溢出来说太宽了。我建议