使用IntelliJ IDEA编译的奇技淫巧

IntelliJ IDEA使用教程、快捷键

使用IntelliJ IDEA编译的奇技淫巧

问题1:

编译时遇到控制台打印以下信息:
Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8
Information:java: Errors occurred while compiling module ‘opm’
Information:javac 1.8.0_144 was used to compile java sources
Information:Module “opm” was fully rebuilt due to project configuration/dependencies changes
Information:2018/3/30 下午5:36 - Compilation completed with 1 error and 0 warnings in 7s 281ms
Error:java: Compilation failed: internal java compiler error

如图:
使用IntelliJ IDEA编译的奇技淫巧_第1张图片

解决问题1方法:
使用IntelliJ IDEA编译的奇技淫巧_第2张图片

问题2:

编译器识别不了部署资源文件根路径,如下图:
使用IntelliJ IDEA编译的奇技淫巧_第3张图片
原因分析:资源文件路径自定义,不在src文件下。

解决问题2方法:
(1)方法一、在pom.xml加入部署资源文件根路径


	org.apache.maven.plugins
	maven-war-plugin
	3.1.0
	
		
			
				WebRoot
			
		
	

(2)方法二、手动更改部署根资源文件路径(缺点是每次maven reimport会改变,使到编译器识别不了)

问题3:

Error:(19, 17) java: 程序包org.jsoup不存在
原因分析:根资源文件路径变化。

解决问题3方法:
add library.
使用IntelliJ IDEA编译的奇技淫巧_第4张图片

问题4:

对项目进行Maven install操作:
控制台打印:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project JeeSite2: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]
搜索资料造成此问题的原因是:打包时在WEB-INF/文件夹下找不到web.xml文件。
解决问题5方法:
(1)如果WebContent/WEB-INF/web.xml文件存在并且在src文件夹下,需要在pom.xml文件中加上maven-war-plugin插件。


        
            
                org.apache.maven.plugins
                maven-war-plugin
                3.1.0
                
                    
                        
                            WebContent
                        
                    
                
            
        

(2)如果WebContent/WEB-INF/web.xml文件存在但是不存在src文件夹下(自定义资源文件目录),需要在pom.xml文件中加上maven-war-plugin插件。
(WebRoot是资源文件夹的根目录,自定义的)


	org.apache.maven.plugins
	maven-war-plugin
	3.1.0
	
		
			
				WebRoot
			
		
	


(2)如果web.xml文件不存在,则按下面的方式配置。

  
      
        org.apache.maven.plugins  
        maven-war-plugin  
        3.0.0  
          
            false  
          
      
 

问题5:

用的IntelliJ IDEA开发工具,操作系统mac os 10.13.3。打开工程,发现每个文件夹的java类文件都出现橙色倒L型符号。直接运行项目,发现报错404。
使用IntelliJ IDEA编译的奇技淫巧_第5张图片

查询资料和工程的配置,需要理解几个概念。
(1)Source roots (or source folders)
通过这个类指定一个文件夹,你告诉IntelliJ IDEA,这个文件夹及其子文件夹中包含的源代码,可以编译为构建过程的一部分。
(2)Test source roots (or test source folders; shown as rootTest)
这些根类似于源根,但用于用于测试的代码(例如用于单元测试)。测试源文件夹允许您将与测试相关的代码与生产代码分开。
通常,源和测试源的编译结果被放置在不同的文件夹中。
(3)Resource roots
用于应用程序中的资源文件(图像、各种配置XML和属性文件等)。在构建过程中,资源文件夹的所有内容都复制到输出文件夹中,如下所示。类似于源,您可以指定生成资源。您还可以指定输出文件夹中的文件夹,您的资源应该复制到。
(4)Test resource roots
是资源文件与您的测试源有关。在所有其他方面,这些文件夹类似于资源文件夹。

打开project structrue -> project settints -> Modules -> Sources,如下图(发现问题的来源)
使用IntelliJ IDEA编译的奇技淫巧_第6张图片

解决问题5方法:将src根文件夹Markas: Sources

问题6:

Error:(184, 50) java: -source 1.5 中不支持 diamond 运算符
(请使用 -source 7 或更高版本以启用 diamond 运算符)
原因分析:编译器的语言环境不兼容,选择7或者以上的版本去适配

解决问题6方法:
使用IntelliJ IDEA编译的奇技淫巧_第7张图片

问题7:

解决IDEA自动重置LanguageLevel和JavaCompiler版本的问题

每次maven reimport,idea 的Java Complier 里的Target bytecode version变为1.5。
使用IntelliJ IDEA编译的奇技淫巧_第8张图片

同时,project settings -> modules,Language level 变为5.0。
这里写图片描述

原因分析:pom.xml没有对maven-compiler-plugin设置正确。

解决问题7方法:
在pom.xml中
(1)固定的jdk版本 (只修改Java Complier版本)


maven-compiler-plugin

   1.7
   1.7


(2)按需设置(只修改Java Complier版本,适用于自己公司的框架,应该在框架内就有定义版本)

  
maven-compiler-plugin  
  
${java.version}  
${java.version}  
  
 

(3)解决IDEA自动重置LanguageLevel和JavaCompiler版本的问题


	maven-compiler-plugin
	3.6.1
	
		1.8
		1.8
	


以上任选一个适合你项目的方法。

####问题8:
HttpServletRequest.getServletContext()一直提示找不到,而引出的问题
request.getServletContext().getRealPath,context报红
原因分析:web.xml目录结构变了,不是放在默认的src文件夹目录下

解决问题8方法:

(1)解决request.getServletContext().getRealPath,context报红的问题
在pom.xml中,
操作步骤一,



    javax.servlet
    javax.servlet-api
    3.1.0
    provided

步骤二,添加本地tomcat的lib文件夹。如果tomcat8不行,就还tomcat7试一试。

(2)解决 javax.persistence.Column 报红的问题
因为项目资源文件夹路径变了,所以要add library。
使用IntelliJ IDEA编译的奇技淫巧_第9张图片


    javax.persistence
    persistence-api
    1.0

结尾,奉上pom.xml


	4.0.0
	JeeSite2
	JeeSite2
	0.0.1-SNAPSHOT
	war
	opm
	

	
		
			
				org.apache.maven.plugins
				maven-war-plugin
				3.1.0
				
					
						
							WebRoot
						
					
				
			

			
				maven-compiler-plugin
				3.6.1
				
					1.8
					1.8
				
			

		
	

	
	
		
		4.0.8.RELEASE
		5.1.1.Final
		3.2.8
		1.2.2
		1.0.11
		2.6.9
		2.0.4
		1.2.3
		2.4.2
		5.15.1

		
		1.7.7
		3.3.2
		2.4
		1.9
		1.3.1
		1.9.1
		2.2.3
		1.1.40
		1.4.7
		17.0
		5.5.1
		3.9
		2.3.20

		
		5.1.30
		10.2.0.4.0
		1.3.1

		
		1.6
		2.2
		7.6.14.v20131031
		8181
		UTF-8
		true

	

	
	

		

		
			oschina-repos
			Oschina Releases
			http://maven.aliyun.com/content/groups/public
		

		
			java-repos
			Java Repository
			http://download.java.net/maven/2/
		

		
			springsource-repos
			SpringSource Repository
			http://repo.spring.io/release/
		

		
			central-repos
			Central Repository
			http://repo.maven.apache.org/maven2
		

		
			central-repos2
			Central Repository 2
			http://repo1.maven.org/maven2/
		

		
			activiti-repos
			Activiti Repository
			https://maven.alfresco.com/nexus/content/groups/public
		

		
			activiti-repos2
			Activiti Repository 2
			https://app.camunda.com/nexus/content/groups/public
		

		
			activiti-repos3
			Activiti Repository 3
			https://repo1.maven.org/maven2/
		

		
			thinkgem-repos
			ThinkGem Repository
			http://git.oschina.net/thinkgem/repos/raw/master
		

		
			thinkgem-repos2
			ThinkGem Repository 2
			https://raw.github.com/thinkgem/repository/master
		

	


	
	

		

		
			oschina-repos
			Oschina Releases
			http://maven.aliyun.com/content/groups/public
		

	


	
	

		
		
			org.springframework
			spring-core
			${spring.version}
			
				
					commons-logging
					commons-logging
				
			
		
		
			org.springframework
			spring-beans
			${spring.version}
		
		
			org.springframework
			spring-context
			${spring.version}
		
		
			org.springframework
			spring-context-support
			${spring.version}
		
		
			org.springframework
			spring-aop
			${spring.version}
			
				
					commons-logging
					commons-logging
				
			
		
		
			org.springframework
			spring-tx
			${spring.version}
		

		
		
			org.springframework
			spring-orm
			${spring.version}
		
		
			org.springframework
			spring-jdbc
			${spring.version}
		

		
		
			org.hibernate
			hibernate-validator
			${validator.version}
		
		

		
		
			org.aspectj
			aspectjrt
			1.7.4
		
		
			org.aspectj
			aspectjweaver
			1.7.4
		
		
			cglib
			cglib
			3.1
		
		

		

		
		
			org.mybatis
			mybatis
			${mybatis.version}
		
		
			org.mybatis
			mybatis-spring
			${mybatis-spring.version}
		

		
		
			com.alibaba
			druid
			${druid.version}
		

		
		
			mysql
			mysql-connector-java
			${mysql.driver.version}
			runtime
		
		
		
			net.sourceforge.jtds
			jtds
			${mssql.driver.version}
			runtime
		
		

		
		
			org.springframework
			spring-web
			${spring.version}
		
		
			org.springframework
			spring-webmvc
			${spring.version}
		
		
			org.springframework
			spring-oxm
			${spring.version}
		
		
			opensymphony
			sitemesh
			${sitemesh.version}
		
		
			taglibs
			standard
			1.1.2
			jar
		
		
			javax.servlet
			jstl
			1.2
			jar
		
		
			javax.servlet
			servlet-api
			2.5
			provided
		
		
			javax.servlet.jsp
			jsp-api
			2.1
			provided
		
		
		

		
		
			net.sf.ehcache
			ehcache-core
			${ehcache.version}
		
		
			net.sf.ehcache
			ehcache-web
			${ehcache-web.version}
		
		
			redis.clients
			jedis
			2.5.1
		
		

		
		
			org.apache.shiro
			shiro-core
			${shiro.version}
		
		
			org.apache.shiro
			shiro-spring
			${shiro.version}
		
		
			org.apache.shiro
			shiro-cas
			${shiro.version}
			
				
					commons-logging
					commons-logging
				
			
		
		
			org.apache.shiro
			shiro-web
			${shiro.version}
		
		
			org.apache.shiro
			shiro-ehcache
			${shiro.version}
		
		

		
		
			org.activiti
			activiti-engine
			${activiti.version}
		
		
			org.activiti
			activiti-spring
			${activiti.version}
		
		
			org.activiti
			activiti-explorer
			${activiti.version}
			
				
					vaadin
					com.vaadin
				
				
					dcharts-widget
					org.vaadin.addons
				
				
					activiti-simple-workflow
					org.activiti
				
			
		
		
			org.activiti
			activiti-modeler
			${activiti.version}
		
		
			org.activiti
			activiti-diagram-rest
			${activiti.version}
		

		
		

		
		
			org.slf4j
			slf4j-api
			${slf4j.version}
		
		
			org.slf4j
			slf4j-log4j12
			${slf4j.version}
		
		
		
			org.slf4j
			jcl-over-slf4j
			${slf4j.version}
		
		
		
			org.slf4j
			jul-to-slf4j
			${slf4j.version}
		
		

		
		
			org.apache.commons
			commons-lang3
			${commons-lang3.version}
		
		
			commons-io
			commons-io
			${commons-io.version}
		
		
			commons-codec
			commons-codec
			${commons-codec.version}
		
		
			commons-fileupload
			commons-fileupload
			${commons-fileupload.version}
		
		
			commons-beanutils
			commons-beanutils
			${commons-beanutils.version}
			
				
					commons-logging
					commons-logging
				
			
		

		
		
			com.google.guava
			guava
			${guava.version}
		

		
		
			com.fasterxml.jackson.core
			jackson-core
			${jackson.version}
		
		
			com.fasterxml.jackson.core
			jackson-databind
			${jackson.version}
		
		
			com.fasterxml.jackson.core
			jackson-annotations
			${jackson.version}
		
		
			com.fasterxml.jackson.module
			jackson-module-jaxb-annotations
			${jackson.version}
		

		

		
		
			com.thoughtworks.xstream
			xstream
			${xstream.version}
		

		
		
			net.sf.dozer
			dozer
			${dozer.version}
		

		
		
			org.freemarker
			freemarker
			${freemarker.version}
		

		
		
			javax.mail
			mail
			1.4.7
		
		
			javax.activation
			activation
			1.1.1
		

		
		
			org.apache.poi
			poi
			${poi.version}
		
		
			org.apache.poi
			poi-ooxml
			${poi.version}
		
		
			org.apache.poi
			poi-ooxml-schemas
			${poi.version}
		

		
		
			com.drewnoakes
			metadata-extractor
			2.6.2
		

		
		
			com.google.zxing
			core
			2.2
		
		
			com.google.zxing
			javase
			2.2
		

		
		
			org.wltea
			analyzer
			2012_u6
		
		

		
		
			net.coobird
			thumbnailator
			0.4.2
		
		
			com.ckfinder
			apache-ant-zip
			2.3
		
		
			com.ckfinder
			ckfinder
			2.3
		
		
			com.ckfinder
			ckfinderplugin-fileeditor
			2.3
		
		
			com.ckfinder
			ckfinderplugin-imageresize
			2.3
		
		

		
		
			junit
			junit
			4.11
		
		
			org.springframework
			spring-test
			${spring.version}
		
		

		
		
			bitwalker
			UserAgentUtils
			1.13
		

		

		

		
			javax.servlet
			javax.servlet-api
			3.1.0
			provided
		
		
			javax.persistence
			persistence-api
			1.0
		

	



你可能感兴趣的:(Java,java开发)