我在Eclipse中创建了一个简单的Java项目,并在根文件夹中创建了一个pom.xml文件。现在我想通过执行pom.xml文件来下载所有Spring Framework依赖项。
是否可以在不在Maven项目中的简单Java项目中使用pom.xml文件并下载所有Spring Framework依赖项?
我右键单击了pom.xml文件并以“Maven install”
运行 在控制台上我找到了这个。[INFO] Scanning for projects...
[INFO]
[INFO] Using the builder org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder with a thread count of 1
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building my-app 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ my-app ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /home/oodles/Documents/MyWorkspace/MySpringProjectMaven/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ my-app ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ my-app ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /home/oodles/Documents/MyWorkspace/MySpringProjectMaven/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ my-app ---
[INFO] No sources to compile
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ my-app ---
[INFO] No tests to run.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ my-app ---
[WARNING] JAR will be empty - no content was marked for inclusion!
[INFO] Building jar: /home/oodles/Documents/MyWorkspace/MySpringProjectMaven/target/my-app-1.jar
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ my-app ---
[INFO] Installing /home/oodles/Documents/MyWorkspace/MySpringProjectMaven/target/my-app-1.jar to /home/oodles/.m2/repository/com/qasim/app/my-app/1/my-app-1.jar
[INFO] Installing /home/oodles/Documents/MyWorkspace/MySpringProjectMaven/pom.xml to /home/oodles/.m2/repository/com/qasim/app/my-app/1/my-app-1.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.013 s
[INFO] Finished at: 2015-03-18T23:32:49+05:30
[INFO] Final Memory: 8M/150M
[INFO] ------------------------------------------------------------------------
我无法理解点击Maven安装后会发生什么。一些文件夹使用my-app.jar创建了命名目标文件夹,我添加了这个jar来构建路径。但我认为它不起作用。我有以下代码的Test类:
package com.qasim.app;
public class Test {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("MySpringConfig.xml");
Restaurant obj = (Restaurant) context.getBean("restaurantBean");
obj.greetCustomer();
}
}
和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>com.qasim.app</groupId>
<artifactId>my-app</artifactId>
<version>1</version>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
</dependencies>
</project>
但是在Test类编译器抱怨应用程序上下文行“create class named applicationContext”如果在运行“Maven install”命令后下载了依赖项,那么它应该为应用程序上下文显示一些“Import hint”
答案 0 :(得分:1)
<强>更新强> 一个建议开始:我真的建议查阅这里找到的官方文档http://maven.apache.org/guides/index.html - 花时间阅读以下几点&#34;介绍&#34;因为它会解释你如何使用Maven以及它是如何工作的;)
我复制并粘贴了你的pom.xml
并且可以编译你的Java类(我删除了Restaurant引用,只是为Spring配置创建了一个空文件)。
查看构建输出:
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ my-app ---
[INFO] No sources to compile
Maven告诉你它没有编译任何来源 - 这强烈暗示你没有使用正确的标准Maven文件夹结构。
我只是使用您的pom.xml
和Maven标准文件夹结构设置了一个迷你项目,如下所示:
(注意:由于公司安全限制,我必须删除路径,因为我在办公室内写作)
如果您在src/main/java
下设置了课程,并将您的配置放在src/main/resources
下,Maven将能够找到该课程并进行编译,同时它还将获取您的资源并将其放入您的jar中。在我的情况下,我刚刚创建了一个空文件MySpringConfig.xml
,显然在尝试加载ApplicationContext
时无法工作,但是您可以在下面的堆栈跟踪中看到文件本身可以找到并加载(但在解析时)空的内容不满足SAX解析器 - 我打赌你的看起来更好:)。
尝试一下,不要忘记咨询maven参考,因为我没有深入到文件夹结构等;)
是的 - 您应该可以右键单击pom.xml
,选择run AS
,例如选择Maven install
(对应mvn install
)或定义要处理的阶段在Maven build...
下
或者,您应该能够为Maven创建新的启动配置,并将Base directory:
指向pom.xml
所在的位置。
注意:Afaik你需要在Eclipse中安装M2-Plugin才能使用Maven(我不知道很多关于这个有趣的工具,但我在这里有一个Eclipse Juno能够构建一个在#34内手动创建的Maven项目;简单的java应用程序&#34;项目)。
注意:如果您只需要依赖项并使用Maven作为&#34;帮助程序&#34;要下载它们,您始终可以从大多数远程存储库手动下载Jar,例如:http://mvnrepository.com/search?q=spring