gpt4 book ai didi

java - 如何在简单的 Java 项目中使用 pom.xml 文件

转载 作者:行者123 更新时间:2023-12-01 11:45:58 26 4
gpt4 key购买 nike

我在 Eclipse 中创建了一个简单的 Java 项目,并在根文件夹中创建了一个 pom.xml 文件。现在我想通过执行 pom.xml 文件来下载所有 Spring 框架依赖项。

是否可以在简单的 Java 项目而不是 Maven 项目中使用 pom.xml 文件并下载所有 Spring 框架依赖项?

我右键单击了 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 添加到构建路径。但我认为它不起作用。我有带有以下代码的测试类:

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>

但是在测试类编译器提示应用程序上下文行“创建名为 applicationContext 的类”时,如果在运行“Maven install”命令后下载了依赖项,那么它应该显示应用程序上下文的一些“导入提示”

最佳答案

更新:首先的建议:我真的建议查阅此处的官方文档 http://maven.apache.org/guides/index.html - 至少花点时间阅读“简介”下面的内容,因为它将向您解释如何使用 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 标准文件夹结构设置了一个小型项目,如下所示:

enter image description here(注意:由于公司安全限制,当我在办公室内写作时,我不得不删除路径)

如果您在 src/main/java 下设置类并将配置放在 src/main/resources 下,Maven 将能够找到该类并编译它它还会获取您的资源并将它们放入您的 jar 中。就我而言,我刚刚创建了一个空文件 MySpringConfig.xml ,当尝试加载 ApplicationContext 时,该文件显然无法工作,但是您可以在下面的堆栈跟踪中看到该文件本身可能是找到并加载(但是在解析它时,空内容不能满足 SAX 解析器的要求 - 我敢打赌你的看起来更好:)。

尝试一下,不要忘记查阅 Maven 引用资料,因为我没有深入研究文件夹结构等。;)

是的 - 您应该能够右键单击pom.xml,选择run AS,例如选择Maven install(对应于mvn install) 或定义要在 Maven build...

下处理的阶段

或者,您应该能够为 Maven 创建一个新的 Launch 配置,并将 Base 目录: 指向您的 pom.xml 所在的位置。

注意:据我所知,您需要在 Eclipse 中安装 M2-Plugin 才能与 Maven 一起使用(我对这个有趣的工具了解不多,但我这里有一个 Eclipse Juno,它能够构建一个在“简单的 java 中手动创建的 Maven 项目”)应用程序”项目)。

注意:如果您只需要依赖项并使用 Maven 作为“助手”来下载它们,您始终可以从大多数远程存储库手动下载 Jar,例如:http://mvnrepository.com/search?q=spring

关于java - 如何在简单的 Java 项目中使用 pom.xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29121408/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com