6

我目前正在创建一个应用程序,用于一次性编译多个 Java 项目以完成编程任务。由于有许多不同的方式来提交 java 项目(例如,作为 eclipse 项目、作为 netbeans 项目、作为 jar 文件),是否有一个类似的插件,您可以轻松导入或在项目中使用,将 java 项目转换为 maven项目,所以它们都可以以相同的方式编译,而不必创建功能以允许程序编译所有不同类型的 java 项目?

如果不是 Maven 项目,还有其他方法可以完成我想要做的事情吗?

4

6 回答 6

5

在我看来,没有这样的工具可以像这样对自由式 Java 项目进行 mavenize。Maven 基于一些不一定通用的自己的约定。这不仅仅是关于 Java 文件在哪里,还包括资源在哪里(例如,它们可以与 Java 文件在同一目录中)、其他资产在哪里(例如 WSDL 文件)、这些资产是什么、如何处理它们以及如何使用所有这些东西来成功构建最终包。我认为没有机会拥有可以做到这一点的通用工具。

我认为在这里可以想象的最好情况是找出一些关于您必须构建的项目的常见假设,例如它们只能包含 Java 源代码和常规资源。然后,您可以实现一些脚本或程序来扫描这种简化的 Java 项目,以了解所有这些文件的位置。即便如此,依赖关系又如何呢?您是否应该为它们扫描 Eclipse/Netbeans/IDEA 特定文件?甚至很难创建这些假设来使项目足够简单以进行自动 mavenize。

正如我所说,我真的不相信你能做的比仅仅强制项目已经由 Maven 管理更好。

于 2012-06-13T13:56:08.590 回答
5

我不确定我是否完全理解了您的问题,但大多数 IDE 软件(例如 Eclipse、Netbeans 等)都有 Maven 插件,您可以在其中从“配置”选项下的右键单击上下文菜单“mavenize”项目。

于 2012-06-13T14:01:17.423 回答
0

正如 posdef 所说,Eclipse(使用 m2eclipse 或 iam)和 IntelliJ 可以做到这一点:

您的 IDE 具有此类插件所需的信息。例如,eclipse 拥有自己的文件,如 .classpath、.settings/*。据我所知,这是专有格式,因此不容易解析(尽管它们是人类可读的)。

我不确定你会找到你要找的东西。

于 2012-06-13T20:39:46.430 回答
0

使用Spring STS IDE(Spring Tool Suite),可以选择将 Java/Dynamic Web 项目转换为 MAVEN 项目。我相信,一旦您拥有适当的插件,您也可以通过 Eclipse 完成同样的任务

右键单击您的 Web 项目 -->配置 --> 转换为 Maven 项目

您将在项目中看到pom.xml和其他 Mavenized 功能。

于 2013-01-18T15:56:55.957 回答
0

我为 Selenium 项目做了同样的事情。希望会有用

请在您的系统中安装 TestNG 和 Maven。按照所有步骤 1 到步骤 8,并运行您的项目

步骤:1 右键单击​​ Java 项目,单击配置导航到转换为 Maven 项目。

跟随,图 1.1 和图 1.2

在此处输入图像描述

在此处输入图像描述

步骤:2 添加所有依赖项(testing.xml 所需的罐子和插件surefire-plugin)

在此处输入图像描述

如何添加罐子,

方式:1 在“<a href="https://mvnrepository.com/" rel="nofollow noreferrer">https://mvnrepository.com/ ”中搜索并添加仓库

方式:2 从本地系统添加 jars(如果需要,选择方式 1 或方式 2 或两者)创建一个文件夹(例如:lib)并放在同一目录中

<dependency>
<groupId>selenium-server-standalone-3.3.1</groupId>
<artifactId>selenium-server-standalone-3.3.1</artifactId>
<version>3.3.1</version>
<systemPath>${basedir}/lib/selenium-server-standalone-3.3.1.jar</systemPath>
<scope>system</scope>
</dependency>   

在此处输入图像描述

步骤:3 将您的课程转换为测试课程 在此处输入图像描述 在此处输入图像描述

步骤:4 编辑 testing.xml。

提供类名保存

<suite name="Suite">
<test name="Test">
<classes>
<class name="test.java.CurseraTesting" />
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->

步骤:5 你的类必须包含注解@Test

如果没有,请补充。看下面的程序,

package test.java;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.annotations.Test;
public class URL {
@Test
public void openUrl() throws InterruptedException{
System.setProperty("webdriver.chrome.driver","C:\\Users\\shivendra.pandey\\Downloads\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.google.co.in/?gfe_rd=cr&ei=EjlbWbnFPOSK8QeylZ7ACw");
Thread.sleep(1000);
driver.manage().window().maximize();
driver.findElement(By.xpath("//*[@title='Search']")).sendKeys("sanfoundry");
Thread.sleep(1000);
driver.close();
}
}

Step:7 最后验证所有设置的TestNG、JDK

在此处输入图像描述

步骤:8 运行你的项目,点击 Maven 测试

在此处输入图像描述

于 2017-07-05T09:49:55.010 回答
0

如果您使用的是 Eclipse 或 Spring Tool Suite,请右键单击项目 -> 配置 -> 转换为 maven 项目应该将您的项目转换为 maven 项目。您可以检查项目是否包含 pom.xml 文件。如果是,则成功转换。

于 2017-07-05T12:35:43.590 回答