下面是在IDEA中创建Java多模块项目的完整攻略:
1. 创建项目
首先,我们要打开IDEA,选择 "Create New Project"。然后,我们会看到一个对话框。
在对话框中,我们需要选择一个Maven项目类型,并确保我们勾选上了 “Create from archetype” 选项。然后点击 "Add archetype" 按钮,在弹出的对话框中填写以下参数:
- Group id:
com.mycompany.archetype
- Artifact id:
my-project-archetype
- Version:
1.0-SNAPSHOT
- Repository:
http://maven.mycompany.com/maven2
我们需要单击 "OK",现在我们就能从这个原型中创建项目。
2. 创建模块
现在我们已经创建了项目,接下来我们要创建一个模块。模块相当于一个单独的构建单元,通常都是一个单独的jar包,或者war包。
我们可以点击右边的 "Add Module" 按钮,然后选择 “Maven”,填写相应的 “Group id” 和 “Artifact id”。
这里,我们举一个示例,假设我们在项目中创建了名为“MyProject”的模块,在该模块中,我们需要添加名为“my-utils”的子模块。
首先,我们要右键点击 “MyProject“ 模块,然后选择 “New” -> “Module”。在出现的窗口中选择 “Maven”,并填写 “Group id” 和 “Artifact id”,此处分别为:
- Group id:
com.mycompany.myproject
- Artifact id:
my-utils
点击 “Finish” ,IDEA 会自动创建一个新的 Maven 模块,并将该模块与主模块 “MyProject” 加入到同一个父工程中。
在模块的目录下,我们可以看到与该模块相关的文件已经被自动添加到对应的目录中。
接下来我们在 “my-utils” 模块中添加一个类 StringUtil
,其中包含一个静态方法 isNullOrEmpty
:
package com.mycompany.myproject.myutils;
public class StringUtil {
public static boolean isNullOrEmpty(String str) {
return str == null || str.isEmpty();
}
}
3. 在模块之间建立依赖关系
我们已经创建了一个模块,现在我们需要在主模块中引入该模块,并实现主模块调用子模块的方法。
在主模块中,我们需要在“pom.xml”文件中添加依赖,以便引入子模块中的代码。我们可以添加以下依赖:
<dependencies>
<dependency>
<groupId>com.mycompany.myproject</groupId>
<artifactId>my-utils</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
然后,在我们想要使用 StringUtil.isNullOrEmpty
方法的地方,我们只需要在类中引入这个类即可:
import com.mycompany.myproject.myutils.StringUtil;
public class Main {
public static void main(String[] args) {
String testStr = "Hello World!";
boolean isNullOrEmpty = StringUtil.isNullOrEmpty(testStr);
System.out.println("String isNullOrEmpty? " + isNullOrEmpty);
}
}
这里我们就实现了主模块调用子模块的方法。
4. 创建第二个模块示例
在我们的“my-project”项目中添加另外一个模块“my-webapp”,在该模块中,我们将实现一个简单的Web应用程序。
首先,我们需要在父模块的 “pom.xml” 文件中添加以下代码片段,以便能够在新模块中引入所有 共享依赖:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.mycompany.myproject</groupId>
<artifactId>my-utils</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
然后,我们要右键点击 “my-project” 模块,然后选择 “New” -> “Module”。在出现的窗口中选择“Maven”,填写相应的“Group id”和“Artifact id”。此处分别为:
- Group id:
com.mycompany.myproject
- Artifact id:
my-webapp
在我们程序中,我们需要在该模块中创建以下内容:
* 一个名为 “IndexServlet” 的 servlet。该servlet向客户端返回一条简单的消息。
* 一个简单的 JSP 页面。
首先,我们为第一个需求创建一个 servlet,将其添加到“my-webapp”模块中。
package com.mycompany.myproject.my.webapp;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class IndexServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.println("<html>");
out.println("<head>");
out.println("<title>My Web App</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Welcome to my Web App!</h1>");
out.println("</body>");
out.println("</html>");
}
}
然后,我们为第二个需求创建一个名为 “index.jsp” 的 JSP 页面,页面内容如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>My JSP Page</title>
</head>
<body>
<h1>Welcome to my JSP page!</h1>
<a href="<%= request.getContextPath() %>/IndexServlet">Go to IndexServlet</a>
</body>
</html>
这些代码将放在模块的src/main目录下。
执行完毕后,在maven的项目中右键项目,选择 Run “MyProject” ,就会启动tomcat在本地本地8080端口运行该应用,然后打开浏览器,在地址栏输入 “http://localhost:8080/my-webapp/index.jsp”,就能访问到我们刚才开发的网站啦!
以上就是在IDEA中创建Java多模块项目的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:教你怎么在IDEA中创建java多模块项目 - Python技术站