使用eclipse创建maven+动态web的项目
windows7操作系统
提前安装java jdk1.8版本+apache-maven-3.3.3+wildfly-10.0.0.Final
1.新建maven项目,到other里面找一下
2.使用默认的工作目录,就是代码存放的具体位置,不要勾选“创建一个简单的项目”
3.选择Archetype项目为webapp
4.填写Group id 和Artifact Id ,以下HelloWorld就是项目名称了。
5.项目的目录结构如下
6.缺少以下三个文件夹
src/main/java
src/test/java
src/test/resources
右键项目根目录点击New -> Source Folder,
建出这三个文件夹。注意不是建普通的Folder,而是Source Folder。
项目或者文件加上右键 new sourceFolder,正常情况下是没有问题的
如果出现了下面的这情况,其实是真的存在的只是我们看不到
7.右键项目属性后,点击Java Build Path-->Libraries-->JRE System Library[J2SE-1.5]-->Edit..-->Workspace default JRE
8.切换后,就可以看到正常项目目录了,这时还有src/test/resources文件夹要新建
新建后的正常目录是
9.更改class路径
右键项目,Java Build Path -> Source
下面应该有4个文件夹。src/main/java,src/main/resources,src/test/java ,src/test/resources。
双击每个文件夹的Output folder,选择路径。
src/main/java,src/main/resources,选择target/classes;
src/test/java ,src/test/resources, 选择target/test-classes;
选上Allow output folders for source folders.(如果没有选上的话)
此处还可以更改显示顺序,进入Order and Export
10.重点来了,右键属性 project Facets
想要切换成3.0发现报错
这是因为新建项目的时候
用了maven-artchetype-webapp
由于这个catalog比较老,用的servlet还是2.3的
11.修改web.xml文件
修为:
1 2 3 4 5 6 7 8 9 10 11 | <?xml version= "1.0" encoding= "UTF-8" ?> <web-app version= "3.0" xmlns= "http://java.sun.com/xml/ns/javaee" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http: //java.sun.com/xml/ns/javaee http: //java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <display-name>Archetype Created Web Application</display-name> </web-app> |
12.修改项目下.settings目录下的两个文件
修改为:
13.刷新项目,然后重新打开属性 project Facets,看到这个地方已经修改成3.0; 勾选上WildFly或tomcat应用服务器选项
14.写点什么,写个调度器的类吧,新建类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | package fujian.xiamen; import java.text.SimpleDateFormat; import java.util.Date; import javax.ejb.Schedule; import javax.ejb.Singleton; @Singleton public class Scheduler { @Schedule (second = "*/10" , minute = "*" , hour = "*" , persistent = false ) public void doWork() { Date currentTime = new Date(); //时间格式指定 SimpleDateFormat simpleDateFormat = new SimpleDateFormat( "yyyy.MM.dd G 'at' HH:mm:ss z" ); System.out.println( "每十秒自动运行一次此调度器,当前运行时间为:" + simpleDateFormat.format(currentTime)); } } |
15.修改WildFly配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <datasource jndi-name= "java:jboss/datasources/TriageDS" pool-name= "TriageDS" enabled= "true" use-java-context= "true" use-ccm= "true" > <connection-url>jdbc:mysql: //172.16.160.78:8805/db</connection-url> <driver>mysql</driver> <pool> <flush-strategy>IdleConnections</flush-strategy> </pool> <security> <user-name>maks</user-name> <password>cctv.123WWw</password> </security> <validation> <check-valid-connection-sql>SELECT 1 </check-valid-connection-sql> <background-validation> true </background-validation> <background-validation-millis> 60000 </background-validation-millis> </validation> </datasource> |
16.创建一个WildFly server
整个完整的项目跑起来了,开心吧。
当然,你也可以不写上面那个调度器的类,直接访问你的web站点吧:
访问WEB路径为:http://localhost:8080/HelloWorld
学习文章:https://www.cnblogs.com/noteless/p/5213075.html
自己重新截图,增加了调度器那个类。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗