使用IDEA开发maven项目jetty:run不成功

Lucare 发布于 2016/01/26 19:16
阅读 5K+
收藏 0
在IDEA下搭建了一个springmvc+mybatis的maven项目,使用maven据说还是jetty做容器好,于是我在pom.xml中加上jetty的插件:
Plain Text code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
        <plugin>
              <groupId>org.mortbay.jetty</groupId>
              <artifactId>jetty-maven-plugin</artifactId>
              <version>8.1.9.v20130131</version>
              <configuration>
                  <webApp>
                      <contextPath>/${project.artifactId}</contextPath>
                  </webApp>
                  <stopKey>STOP</stopKey>
                  <stopPort>9999</stopPort>
                  <scanIntervalSeconds>5</scanIntervalSeconds>
              </configuration>
          </plugin>


启动的时候,网上都是说只需要jetty:run就行了,我就照做了,结果老是编译不完全。还输出以下信息:
Plain Text code
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[INFO] --- jetty-maven-plugin:8.1.9.v20130131:run (default-cli) @ wechatplat ---
[INFO] Configuring Jetty for project: wechatplat Maven Webapp
[INFO] webAppSourceDirectory not set. Defaulting to D:\devTools\IdeaProjects\wechatplat\src\main\webapp
[INFO] Reload Mechanic: automatic
[INFO] Classes = D:\devTools\IdeaProjects\wechatplat\target\classes
[INFO] Context path = /wechatplat
[INFO] Tmp directory = D:\devTools\IdeaProjects\wechatplat\target\tmp
[INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
[INFO] Web overrides =  none
[INFO] web.xml file = file:/D:/devTools/IdeaProjects/wechatplat/src/main/webapp/WEB-INF/web.xml
[INFO] Webapp directory = D:\devTools\IdeaProjects\wechatplat\src\main\webapp
[INFO] jetty-8.1.9.v20130131
[INFO] No Transaction manager found - if your webapp requires one, please configure one.
[INFO] No Spring WebApplicationInitializer types detected on classpath
[INFO] Initializing Spring root WebApplicationContext
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
[INFO] Initializing Spring FrameworkServlet 'rest'
[INFO] Started SelectChannelConnector@0.0.0.0:8080
[INFO] Started Jetty Server
[INFO] Starting scanner at interval of 5 seconds.



后来我用IDEA自己的build中的make project,然后在jetty:run,结果就好了。

我想问问直接使用jetty:run为什么不行,是不是我哪里没有配好。

怎么才能做到热部署?
加载中
0
Lucare
Lucare
<!--没有这个mapping中的xml文件将不会随着编译被迁移到classes中-->
      <resources>
          <resource>
              <directory>src/main/java</directory>
              <includes>
                  <include>**/*.xml</include>
              </includes>
              <filtering>true</filtering>
          </resource>

          <resource>
              <directory>src/main/resources</directory>
              <includes>
                  <include>*.xml</include>
                  <include>*.properties</include>
              </includes>
              <filtering>true</filtering>
          </resource>
      </resources>

这样配置如何,各位前辈,保持了原来的项目结构,让maven也能成功编译并引入配置文件。



0
刘强东
刘强东
怎么不行了,你这输出信息又没报错,不是已经正常启动了么。
0
李三石
李三石

你的web.xml是在这个目录吗?

D:/devTools/IdeaProjects/wechatplat/src/main/webapp/WEB-INF/web.xml

0
Lucare
Lucare

引用来自“刘强东”的评论

怎么不行了,你这输出信息又没报错,不是已经正常启动了么。
我查看了classes文件,比我手动触发make操作来编译,少了好多xml之类的,log4j.properties什么的。
0
Lucare
Lucare

引用来自“李三石”的评论

你的web.xml是在这个目录吗?

D:/devTools/IdeaProjects/wechatplat/src/main/webapp/WEB-INF/web.xml

都在啊,标准maven结构
0
李三石
李三石
你那些配置文件都在resources文件夹下吗?
0
Lucare
Lucare

引用来自“李三石”的评论

你那些配置文件都在resources文件夹下吗?
对啊
0
刘强东
刘强东

引用来自“李三石”的评论

你那些配置文件都在resources文件夹下吗?

引用来自“springFCS”的评论

对啊
确定是 resources 么,没少个 s 什么的。上次我就是手动打不进去资源文件,只能在 ide 里配置好源码路径,后来发现是少个 s。
0
Lucare
Lucare

引用来自“李三石”的评论

你那些配置文件都在resources文件夹下吗?

引用来自“springFCS”的评论

对啊

引用来自“刘强东”的评论

确定是 resources 么,没少个 s 什么的。上次我就是手动打不进去资源文件,只能在 ide 里配置好源码路径,后来发现是少个 s。

idea自己生成的结构,没错,我也检查了。

您可以看看放在github上的部分

https://github.com/fengchangsheng/wechatplat

0
李三石
李三石
<resources>
          <resource>
              <directory>src/main/java</directory>
              <includes>
                  <include>**/*.xml</include>
              </includes>
              <filtering>true</filtering>
          </resource>
      </resources>

这段去掉

把你的mybaite xml 放到 resources\com\fcs\user\mapping 目录就可以了

项目不符合maven约定

返回顶部
顶部