Eclipse使⽤⼊门指南及技巧
Java是必须的
安装⼀个JDK就可以了,⽐如,安装完毕,会⾃⾏安装JRE。
如果不⽤IDE,这个时候⽤记事本也是可以写程序,然后⽤javac编译,java命令来运⾏。在windows下的话,⽅便javac命令⾏的使⽤,可以设置⼀个环境变量,例如:
JAVA_HOME,C:\Work\Java\jdk1.7.0_67,然后在PATH变量中增加:%JAVA_HOME%\bin;
Eclipse是纯绿⾊的软件
解压即可使⽤,软件的各种配置、插件,在配置后,也都存储在解压后的⽬录下,拷贝后也就有了这些配置。
Eclipse插件管理
插件安装:⼀般使⽤Help => Eclipse Marketplace进⾏安装即可,对于在Eclipse Marketplace没有的,可以使⽤Help ==> Install New Software 进⾏安装。
插件查看:Help ==> About Eclipse ==> Installation Details,会显⽰Eclipse安装的所有插件,并可以在这⾥进⾏卸载。
常⽤的Eclipse插件有:JRebel、SVN插件(Subversive或者SubEclipse)、Maven Integration For Eclipse。
⼀般每个Eclipse版本,和相应插件的版本必须对应,这些实际Eclipse Marketplace都已经帮我们管理了。
JRebel5.3破解版
[html]
1. -noverify
2. -javaagent:/work/jrebel/jrebel.jar
3. -Drebel.dirs=/work/privilege-server/target/classes
4. -Drebel.disable_update=true
5. -DJAVA_OPTS=-Xms128m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m
SVN插件注意问题
当硬盘已经安装了TortoiseSVN时,对应的项⽬在Eclipse打开时,如果Eclipse已经安装了对应版本的SVN插件,则会⾃动进⾏管理,这⾥版本必须对应,例如:SubEclipse中如果SVN Client是1.8版本,则只能识别TortoiseSVN 1.8版本;如果是1.7版本,只能识别TortoiseSVN 1.7版本。
最开始我曾经试图根据百度的结果这样解决:右键项⽬-team--share project--选择svn--finish 问题解决,但是报错如下:
org.apache.subversion.javahl.ClientException: The working copy needs to be upgraded
svn: The working copy at 'E:\Work'
is too old (format 29) to work with client version '1.8.5 (r1542147)' (expects format 31). You need to upgrade the working copy first.
才明⽩是版本的问题。
顺便说下TortoiseSVN的svn:ignore的⼀个问题,如果发现对某个⽬录设置了忽略,但是不⽣效,则很有可能是这个⽬录已经被提交到SVN 服务器了;如果本地刚刚还能update下来的代码,突然update不下来了,很可能你不⼩⼼删除了,reverse⼀下试试。
Maven插件注意问题
Maven插件,需要和Maven配合使⽤,Maven也是绿⾊的,解压到硬盘即可使⽤,在Maven中,l⾥⾯,最好把Maven下载的Jar 包制定存储到⼀个空间较⼤的磁盘,⼀般公司也都有⾃⼰的Maven资源库,提⾼下载速度,减少公⽹资源利⽤。
Maven资源库的建⽴,使⽤较多的是Nexus,实际就是⼀个War包,部署到Jboss/Tomcat等容器即可,其原理其实就是⼀个代理,下过⼀次之后,以后别⼈再使⽤,就只从这个代理下了。C
各种Maven命令,都可以在Eclipse⾥⾯直接使⽤,Run As/Debuy As下⾯有⼏个常⽤的,Build/Clean/Install/Clean/Generate-Sources,配置更多命令,可以进⼊Run/Deug Configurations,⽐如配置⼀个mvn deploy –st.skip=true的效果,则如下图:
问题“Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webap”解决:
接下来在使⽤刚添加的catalog创建web⼯程,如下图:
对于maven依赖jar包,多次update就是不能下载到本地的情况,可以尝试⼀下更换⼀个资源库(⽐如⽤公⽹资源库,⽤本地资源库切换⼀下试试),多试验⼀次,⼀般都会下载下载,如果实在下载不下来,可以⼿⼯吧jar包下载下来放到对应的本地⽬录下⾯(如果respository⽂件⽐较⼤,⽐如⼏百M,建议这么做,否则下载,即使本地,也会耗带宽,也⾮常容易多次下载不下来)。对于SNAPSHOT,别⼈提交后,我们要force才能下载下来。
对于已经本地⽬录已经有相应jar包,但是Eclipse依然说的情况,可以试着到⼯作区的相应项⽬删除.marker⽂件试试,例如我有⼀个pig项⽬,则⽬录是:
⼯作区路径\.metadata\.sources\.projects\pig
如果我们想建⽴⼀个空的Maven⼯程,⽤来作为其他Module类型Maven的Parent,可以在新建时选择如下:
完成之后,⽆⽤内容删除即可。
对于新建某种类型的Maven项⽬时,如果⽂件夹不全,⽐如只有src/main/resource,我们可以⾃⾏根据需要增加 src/main/、src/test/java、src/test/resource,操作如下:
在项⽬上右击,New-->Folder,选中要在其上添加的⽂件夹,下⾯输⼊框中输⼊要添加的⽂件夹名字,
即可,截图如下:
如果新建⽴的Maven项⽬没有src/main/java、src/main/resource、src/test/java、src/test/resource⽂件夹,可以到项⽬⽬录下查看.classpath ⽂件,补上没有的,如下:
[plain]
1. <classpathentry kind="src" output="target/classes" path="src/main/java">
2.    <attributes>
3.        <attribute name="optional" value="true"/>
4.        <attribute name="maven.pomderived" value="true"/>
5.    </attributes>
6. </classpathentry>
7. <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
8.    <attributes>
9.        <attribute name="maven.pomderived" value="true"/>
10.    </attributes>
11. </classpathentry>
12. <classpathentry kind="src" output="target/test-classes" path="src/test/java">
13.    <attributes>
14.        <attribute name="optional" value="true"/>
15.        <attribute name="maven.pomderived" value="true"/>
maven打包本地jar包16.    </attributes>
17. </classpathentry>
18. <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
19.    <attributes>
20.        <attribute name="maven.pomderived" value="true"/>
21.    </attributes>
22. </classpathentry>
然后,在项⽬上右键选择properties,然后点击java build path,在Librarys下,编辑JRE System Library,选择workspace default jre就可以了。⽂件夹在eclipse出现之后,可以再把JRE还原回去。
遇到⼀个Maven 依赖Jar包冲突的问题,有个项⽬采⽤ 4.0.6版本,依赖了,
<dependency>
<groupId>org.jasig.cas.client</groupId>
<artifactId>cas-client-core</artifactId>
<version>3.2.1-SNAPSHOT</version>
</dependency>
因为cas-client-core中使⽤的Spring版本是3.2.0,<scope>test</scope>,这个项⽬中主要是测试使⽤了Spring。
则采⽤Spring 4.0.6的Web项⽬启动时会报警告:java.lang.IllegalStateException: Duplicate fragment name: spring_web
项⽬不能正常启动,原因就是Spring冲突的缘故,对于这个情况,只能把cas-client-core⾥⾯的Spring也改成4.0.6来解决了。
Maven制作可以运⾏的jar包
第⼀种⽅式
对于jar包,执⾏命令mvn package,所有的maven依赖包是不会打进WEB-INFO的lib⽬录的,为了制作⼀个可执⾏的jar包,下⾯的步骤是可⾏的。
[html]
1. <build>
2. lt;plugins>
3. <plugin>
4.    <artifactId>maven-assembly-plugin</artifactId>
5.    <configuration>
6.        <archive>
7.            <manifest>
8.                <mainClass>com.allen.capturewebdata.Main</mainClass>
9.            </manifest>
10.        </archive>
12.            <descriptorRef>jar-with-dependencies</descriptorRef>
13.        </descriptorRefs>
14.    </configuration>
15. </plugin>
16. lt;/plugins>
17. </build>
然后使⽤maven命令:mvn assembly:assembly
则会在target⽬录下多出⼀个*-jar-with-dependencies.jar,这就是⼀个可执⾏的jar包。第⼆种⽅式(推荐)
[html]
1.    <build>
2.    <sourceDirectory>src/main/java</sourceDirectory>
3.    <resources>
4.      <resource>
5.        <directory>src/main/resources</directory>
6.        <includes>
7.        <include&l</include>
8.        </includes>
9.      </resource>
10.    </resources>
11.    <plugins>
12.        <plugin>
13.            <groupId>org.apache.maven.plugins</groupId>
14.            <artifactId>maven-compiler-plugin</artifactId>
15.            <version>2.3.2</version>
16.            <configuration>
17.                <source>1.6</source>
18.                <target>1.6</target>
19.                <encoding>UTF-8</encoding>
20.            </configuration>
21.        </plugin>
22.
23.        <plugin>
24.        <groupId>org.apache.maven.plugins</groupId>
25.        <artifactId>maven-dependency-plugin</artifactId>
26.        <executions>
27.            <execution>
28.                <id>copy-dependencies</id>
29.                <phase>test</phase>
30.                <goals>
31.                    <goal>copy-dependencies</goal>
32.                </goals>
33.                <configuration>
34.                    <excludeGroupIds>org.apache.hadoop</excludeGroupIds>
35.                    <excludeGroupIds>org.slf4j</excludeGroupIds>
36.                    <outputDirectory>target/classes/lib</outputDirectory>
37.                </configuration>
38.            </execution>
40.    </plugin>
41.    </plugins>
42.
43.    <pluginManagement>
44.    <plugins>
45.        <!-- Ignore/Execute plugin execution -->
46.        <plugin>
47.            <groupId&lipse.m2e</groupId>
48.            <artifactId>lifecycle-mapping</artifactId>
49.            <version>1.0.0</version>
50.            <configuration>
51.                <lifecycleMappingMetadata>
52.                    <pluginExecutions>
53.                        <!-- copy-dependency plugin -->
54.                        <pluginExecution>
55.                            <pluginExecutionFilter>
56.                                <groupId>org.apache.maven.plugins</groupId>
57.                                <artifactId>maven-dependency-plugin</artifactId>
58.                                <versionRange>[1.0.0,)</versionRange>
59.                                <goals>
60.                                    <goal>copy-dependencies</goal>
61.                                </goals>
62.                            </pluginExecutionFilter>
63.                            <action>
64.                                <ignore />
65.                            </action>
66.                        </pluginExecution>
67.                    </pluginExecutions>
68.                </lifecycleMappingMetadata>
69.            </configuration>
70.        </plugin>
71.    </plugins>
72. </pluginManagement>
73. </build>
使⽤maven clean package 打包即可。
run jetty run 插件
Eclipse可以使⽤jetty插件,运⾏servlet,安装插件如下图:
jetty是最简单、快速的servlet容器了,⽐tomcat都要快。
Maven其他插件,⽐如冲突检测、排除 jar Maven插件众多,使⽤过程中逐渐学习记录:
[html]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。