如何将java项目转换为Maven项目或类似项目

如何将java项目转换为Maven项目或类似项目,java,maven,Java,Maven,我目前正在创建一个应用程序,用于一次性编译多个java项目,以完成编程任务。因为有许多不同的方式提交java项目(例如,作为eclipse项目、作为netbeans项目、作为jar文件)是否有一个类似的插件,您可以轻松导入或在项目中使用,该插件将java项目转换为maven项目,这样它们都可以以相同的方式编译,而不必创建功能来允许程序编译所有不同类型的java项目 如果不去maven项目,有没有其他方法来完成我想做的事情?在我看来,没有这样的工具来mavenize像这样的自由式Java项目。Ma

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


如果不去maven项目,有没有其他方法来完成我想做的事情?

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

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


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

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

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

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


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

使用Spring STSIDE(Spring工具套件),可以选择将Java/Dynamic Web项目转换为MAVEN项目。我相信,一旦你有了合适的插件,你也可以通过Eclipse完成同样的任务

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


您将在您的项目中看到pom.xml和其他Mavenized特性。

我也为Selenium项目做了同样的工作。希望会有用

请在您的系统中安装TestNG和Maven。遵循所有步骤1到步骤8,然后运行您的项目

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

遵循图1.1和图1.2

步骤:2添加所有依赖项(必需的JAR和插件surefire plugin for testing.xml)

如何添加罐子

方法:1在“”中搜索并添加存储库

方式:2从本地系统添加JAR(如果需要,选择方式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>   
第7步:最后验证所有设置的TestNG、JDK

步骤8:运行您的项目,单击Maven测试


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

+1回答……是的,这正是我想要做的,但我想这么做能够在我的系统中单击一个按钮。我不希望每次我想将项目转换为maven项目时都必须进入eclipse。相反,我希望能够在我的系统中单击一个按钮,执行完全相同的操作。这将非常依赖于系统,我想你可以编写一个小的批处理文件来创建/更改必要的文件n执行批处理文件,但仍然需要动手。好吧,没有工具可以完全自动化。当您使用Spring工具套件时,您可以使用Window>Show View>Project Explorer。然后IIRC右键单击项目,然后配置>转换为Maven。这将创建初始pom.xml并重构文件夹o适当的结构。是的,因为这件事让我头疼,因为我无法解决这个问题,因为我需要一种方法来成功地编译不同类型的项目。是的,我完全理解你。这真的很难,除非你只是强迫人们交付Maven(或Ant,或任何东西)可以使用相同的工具以相同的方式处理的项目。
<suite name="Suite">
<test name="Test">
<classes>
<class name="test.java.CurseraTesting" />
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
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();
}
}