linux下的Java开发 intellij idea+tomcat+maven
前期准备:安装intellij idea、下载tomcat、下载maven(注意我用的是tomcat6、maven 3.2.1、jdk1.6.0_45,之前maven用的3.5结果报错,搞了好久,建议小伙伴们用稳定版本)
intellij idea官方网站:https://www.jetbrains.com/idea/download/#section=linux(注意要下载Ultimate版本,不然里面的东西不全,比如tomcat插件...)
intellij idea破解:http://blog.csdn.net/zhangwenwu2/article/details/54948959
tomcat官方下载:http://tomcat.apache.org/download-60.cgi
maven官方下载:https://archive.apache.org/dist/maven/maven-3/
注意下载tar.gz后缀的文件
运行idea,我的idea安装在了/usr/idea/idea-IU-172.3317.76目录下,&指的是后台运行


选择Maven ,勾选Create from archetype,然后选择下面的mave-archetype-quickstart,一定要看清楚了别选错了,会出事的。选好以后next
填写相应信息,图里面的groupid和artifactid命名其实不太规范,规范的命名这边有个很不错的blog :https://blog.csdn.net/snowin1994/article/details/53024871


finish,下面这个选择enable Auto-import

按快捷键ctrl+alt+shift+s ,选择Modules,点击+号为项目添加web模板


修改Web Resource Directory、Deployment Descriptors 为我圈写的内容,如果不存在这些目录和文件,就手动打进去,如果本地目录里面没有web.xml就手动建一个(比如说只能定位到/src/main,没有webapp 你就自己手动在后面敲进去),如果你并不想把webapp放在src/main目录下怎么办?其实很简单,你可以指定你想要的任意位置。值得注意的是两个圈里面的目录一定要对应上。

Facts: 表示当前项目的适配服务组件。可看到此项目已是一个Web项目了。

Aftifacts: 这个Aftifacts描述了当前项目发布的信息。现在进行添加,从Modeles中选择。


点击ok
说明:A: 现在Artifacts已有了发布的项目了(idea中准确的说应是Modele) B:output root目录描述了当前项目的编译目录及适配服务。

确定之后当前项目的结构:

项目的部署
配置tomcat
在deploment面板中点击+号,添加artifact

配置server

注意:有的朋友配完tomcat以后,喜欢访问/目录看出没出现猫的首页。你可能以为出现猫就代表运行成功,没出猫就是失败。其实不然,如果按照这个方法配置下去,最后你访问localhost:port后并不会出现猫,如果你想出现猫,参考这篇blog : https://blog.csdn.net/wust_lh/article/details/68494434,他里面有一张图粘错了,不过不影响阅读。
这边插个小技巧,在网上查了一下on update action 和 on frame deactivation的使用,这边有个很不错的博客 blog : https://www.cnblogs.com/zhangguangju/p/7027904.html ,博主说推荐使用 update classes and resources + Do nothing的配置。我试了一下很好用,不管你是改jsp还是改后台类,只需要手动点一下
,然后选择update classes and resources就可以生效代码,而不需要重启tomcat。
有时候操作着操作着莫名其妙日志窗口消失了,对于我们刚使用IDEA编译器的小白来说真是痛苦不堪呀,找了半天找不到怎么恢复。这个时候你可能会很怀念eclipse里面人性化的命令,重置布局Reset Perspective,不要担心在IDEA里面可以用Alt+4 / Alt +5恢复,如果你想调出shell操作窗口可以使用Alt+F12。
编写代码测试
写一个servlet,如果报错,是因为没有引入库文件
import java.io.IOException;
public class HelloController extends javax.servlet.http.HttpServlet {
protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
doPost(request,response);
}
protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String name = (String) request.getParameter("name");
request.setAttribute("name",name);
System.out.println(name);
request.getRequestDispatcher("index.jsp").forward(request,response);
}
}
我们发现,报红了,因为我们没有导入Tomcat的库文件,按shift+ctrl+alt+s,modules中点击自己的项目testmaven,在dependencies中点击+号选择第二个添加tomcat的库文件即可

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<servlet>
<servlet-name>HelloController</servlet-name>
<servlet-class>HelloController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloController</servlet-name>
<url-pattern>/Hello</url-pattern>
</servlet-mapping>
</web-app>
index.jsp
Created by IntelliJ IDEA.
User: zyh
Date: 17-7-19
Time: 下午8:08
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>testmave</title>
</head>
<body>
your name is : ${name}
</body>
</html>
项目结构图


运行tomcat


项目我也传到github上了,邮箱去的朋友可以瞅瞅
https://github.com/Demo233/testmaven/
linux下的Java开发 intellij idea+tomcat+maven的更多相关文章
- linux下的java远程调试jpda+tomcat
项目放到linux服务器了,服务器的环境或者数据可能和我们本地不一样,这个时候我们可能需要远程的断点进行调试,来查看请求过程中的各个变量的值.这里我们的应用服务器用的tomcat5.5.17 这个时候 ...
- linux下的java开发环境
一.jdk的安装 1.复制jdk至安装目录,我们指定的安装目录是:/usr/local/java .可是系统安装后在/usr/local下并没有java目录,这需要我们去创建一个java文件夹,如图
- linux下搭建java开发环境
1 下载jdk包 这里下载.gz格式的,通过ftp上传到服务器 2 解压到指定目录,如/usr/java/ tar -xvf XXX.tar.gz 解压后会在/usr/java下生成一个目录,如jdk ...
- LINUX下搭建JAVA的开发环境
LINUX下搭建JAVA的开发环境 (2009-07-13 10:04:13) 下面就将Linux下JAVA开发环境的搭建详细道来: 1.Linux下JDK的安装 至于下载JDK的二进制可执行 ...
- Intellij idea史上最简单的教程之Linux下安装与破解Intellij idea2017
一.前言 这一节我们介绍在Linux下如何安装与破解Intellij idea2017.现在有很多公司开发环境都是Linux,所以掌握在Linux环境下使用Idea办公也是咱们必须得掌握的技能. 记住 ...
- Linux下安装和配置JDK与Tomcat(升级版)
在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...
- Linux下使用Eclipse开发Hadoop应用程序
在前面一篇文章中介绍了如果在完全分布式的环境下搭建Hadoop0.20.2,现在就再利用这个环境完成开发. 首先用hadoop这个用户登录linux系统(hadoop用户在前面一篇文章中创建的),然后 ...
- ubuntu下搭建JAVA开发环境【转】
转自:http://jingyan.baidu.com/article/86fae346b696633c49121a30.html JAVA开发环境是一种跨平台的程序设计语言,可以在windows.L ...
- Linux下执行Java程序报错
在linux下编译java程序,执行javac编译生成class文件时,在centos7终端输入如,javac hello.java 会提示未找到指令,但用java -verison测试环境变量 ...
随机推荐
- [CTSC2016]时空旅行(线段树+凸包)
应该是比较套路的,但是要A掉仍然不容易. 下面理一下思路,思路清楚了也就不难写出来了. 0.显然y,z坐标是搞笑的,忽略即可. 1.如果x不变,那么直接set即可解决. 2.考虑一个空间和询问x0,通 ...
- GIF工具 | 分享几个Gif相关工具
文章目录 LICEcap GiFResizer LICEcap LICEcap 是一款屏幕录制工具,支持导出GIF动画图片格式,轻量级.使用简单,录制过程中可以随意改变录屏范围. 下载地址: 官方地址 ...
- 【Linux】linux下查看目录所在分区
命令如下: df -h 目录名 具体使用例子如下:查看/home/sxd/文档处于哪个分区 ------------------------------------------------------ ...
- react数组key的唯一性
1.不要使用数组的index索引作为key 2.在相邻的元素间,一定确保key的唯一性,如果出现了相同的 key,会抛出一个 Warning,告诉相邻组件间有重复的 key 值.并且只会渲染第一个重复 ...
- Makefile学习之显示命令与出错命令
显示命令: 1.在makefile中 如果在命令行下添加“@”符号,则只执行,不显示命令: 2.在执行make时,make -n 表示只显示命令而不执行: make -s 表示只执行命令而不显示: 3 ...
- django 分页django-pure-pagination
虽然django自带了一个paginator,但不是很方便,我们使用django-pure-pagination github地址https://github.com/jamespacileo/dja ...
- selfshadow
realtime rendering v3 page 351 Moire pattern sruface acne artifacts ----------------------- 用 setsta ...
- 【Eclipse】Eclipse 中 使用 Git 方法
参考资料: Eclipse关联GitHub实现版本控制:http://jingyan.baidu.com/article/64d05a0262f013de55f73bcc.html http://ww ...
- ASP.NET MVC学习---(一)ORM框架,EF实体数据模型简介
现如今 对象关系映射(ORM)框架 被大量的使用于企业级应用的开发 为什么要使用ORM? ADO.NET操作数据库不好吗? 我们可以仔细想想 当我们使用ADO.NET操作数据库的时候 我们需要先获取连 ...
- 2017.6.29 java读取.properties配置文件的几种方法
参考来自:http://www.cnblogs.com/s3189454231s/p/5626557.html 关于路径的解释:http://blog.csdn.net/bluishglc/artic ...