|
2017年3月27日
解決辦法: 在報錯項目的idea路徑下(示例路徑,根據實際情況查找)D:\idea_workspace\demo\.idea\artifacts ,找到錯誤提示中的模塊名,此處示例為“ueditor”,應該會有兩個文件(ueditor_war_exploded.xml 和 ueditor_war.xml),刪除再重新編譯即可。
問題:idea使用過程中 報告 plugin error。 Error Loading Project: Cannot load 10 artifacts Details... 并且 tomcat不能配置。 解決:打開setting>>plugins>>啟用 application servers View. 多次勾選后再取消,重啟idea。安裝插件
(本人打開plugin界面時,application server 為紅色,點擊兩次enable就可以,當時以為報紅是因為缺少插件,廢了不少時間)
根本的解決方法: 刪除iml文件. 其實刪了沒用的iml重啟下idea就可以,
在使用idea開發的過程中,提交時遇到兩個問題,一個是每次提交都需要輸入用戶名和密碼,選擇記住密碼,依然提示;第二個是提交后,git賬戶名顯示是Administrator,跟自己注冊git時賬號不一致,今天花了點時間,從網上找了下解決方案,記錄一下。 1.處理不用反復輸入密碼問題: 打開git終端,或者idea中的插件終端,輸入命令: git config--global credential.helper store 

執行上述命令后,在idea中第一次pull或push需要輸入用戶名和密碼,之后就不用再輸入了。 2.git提交代碼時,用戶名顯示為Administrator問題。自己注冊完git后,設置的是自己的名稱,但不知為什么,在idea上提交代碼時,用戶名顯示的是Administrator,但是git網站上的日志記錄卻是正常的。 

自己懷疑idea里的git提交時,取的是本機名,因為自己的電腦機器名就是Administrator,就把電腦名改了,然后試了下,提交日志上還是顯示Administrator,關掉idea重啟,依然是,關機重啟,還沒改過來。上網找了下方案,說需要設置下git的全局用戶名,打開git終端,修改了下用戶名,然后idea中提交日志就顯示正常了。 解決方法:執行命令$ git config --global user.name "username"即可。 Git的用戶名和郵箱地址作用:用戶名和郵箱地址是本地Git客戶端的一個變量,不隨git庫而改變。每次commit都會用用戶名和郵箱紀錄。github的contributions統計就是按郵箱來統計的。
查看git用戶名和郵箱地址命令: $ git configuser.name $ git configuser.email 修改用戶名和郵箱地址: $ git config--global user.name "username" $ git config--global user.email "email" 當git注冊時的郵箱發生變化后,可以通過config命令進行修改。
3######一、安裝環境###### 1、本機系統:Windows 10 Pro(64位) 2、Node.js:v6.9.2LTS(64位) 二、安裝Node.js步驟###### 1、下載對應你系統的Node.js版本:https://nodejs.org/en/download/ 2、選安裝目錄進行安裝 3、環境配置 4、測試 三、前期準備###### 1、Node.js簡介 簡單的說 Node.js 就是運行在服務端的 JavaScript。Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環境。Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。Node.js 的包管理器 npm,是全球最大的開源庫生態系統。 2、下載Node.js 打開官網下載鏈接:https://nodejs.org/en/download/ 我這里下載的是node-v6.9.2-x64.msi,如下圖: 四、開始安裝###### 1、下載完成后,雙擊“node-v6.9.2-x64.msi”,開始安裝Node.js 點擊【Next】按鈕 勾選復選框,點擊【Next】按鈕 修改好目錄后,點擊【Next】按鈕 安裝完后點擊【Finish】按鈕完成安裝 至此Node.js已經安裝完成,可以先進行下簡單的測試安裝是否成功了,后面還要進行環境配置 在鍵盤按下【win+R】鍵,輸入cmd,然后回車,打開cmd窗口 安裝完后的目錄如下圖所示: 此處說明下:新版的Node.js已自帶npm,安裝Node.js時會一起安裝,npm的作用就是對Node.js依賴的包進行管理,也可以理解為用來安裝/卸載Node.js需要裝的東西 五、環境配置###### 說明:這里的環境配置主要配置的是npm安裝的全局模塊所在的路徑,以及緩存cache的路徑,之所以要配置,是因為以后在執行類似:npm install express [-g] (后面的可選參數-g,g代表global全局安裝的意思)的安裝語句時,會將安裝的模塊安裝到【C:\Users\用戶名\AppData\Roaming\npm】路徑中,占C盤空間。 例如:我希望將全模塊所在路徑和緩存路徑放在我node.js安裝的文件夾中,則在我安裝的文件夾【D:\Develop\nodejs】下創建兩個文件夾【node_global】及【node_cache】如下圖: 創建完兩個空文件夾之后,打開cmd命令窗口,輸入 npm config set prefix "D:\Develop\nodejs\node_global" npm config set cache "D:\Develop\nodejs\node_cache" 接下來設置環境變量,關閉cmd窗口,“我的電腦”-右鍵-“屬性”-“高級系統設置”-“高級”-“環境變量” 進入環境變量對話框,在【系統變量】下新建【NODE_PATH】,輸入【D:\Develop\nodejs\node_global\node_modules】,將【用戶變量】下的【Path】修改為【D:\Develop\nodejs\node_global】 六、測試###### 配置完后,安裝個module測試下,我們就安裝最常用的express模塊,打開cmd窗口, 輸入如下命令進行模塊的全局安裝: npm install express -g # -g是全局安裝的意思 補充##### 通過npm安裝模塊時都是去國外的鏡像下載的,有的時候由于網絡原因會導致安裝模塊失敗,好在阿里有團隊維護國內鏡像:http://npm.taobao.org/ 上面有使用說明
作者:指間的Coding 鏈接:https://www.jianshu.com/p/03a76b2e7e00 來源:簡書 著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
在使用 Intellij IDEA時,常常需要打開兩個或更多的窗口,而之前的版本如下設置  新版本如下設置 
啟動 Java Web 項目 1)打開“Project Structure” 
2)配置“Facets” 
3)配置“Artifacts” 
4) 啟動“Edit Configurations” 
5) Add New 'Tomcat Server' 配置 
6) 配置Deplyment 
7) 配置Server 
其結果如下: 
8) 啟動Web Server 
現在可以通過Browser訪問WebServer的頁面了。
http://blog.csdn.net/duanlb_001/article/details/77651683 在線安裝:在INSTALL NEW SOFTWAR中輸入地址:http://download.eclipse.org/releases/juno,在加載出來的插件列表中,輸入SUB來過濾出SVN插件。 eclipse-help-install new software-work with: http://community.polarion.com/projects/subversive/download/eclipse/3.0/kepler-site/
1)打開“Project Structure”  2)配置“Facets”  3)配置“Artifacts”  4) 啟動“Edit Configurations”  5) Add New 'Tomcat Server' 配置  6) 配置Deplyment  7) 配置Server  其結果如下:  8) 啟動Web Server  現在可以通過Browser訪問WebServer的頁面了。
一,JRebel 插件 獲取與安裝直接在 IDEA 中操作獲取 JRebel 插件  Paste_Image.png  Paste_Image.png 安裝完成,記得重啟 IDEA 使剛才安裝的插件生效。
二,激活  Paste_Image.png  Paste_Image.png http://idea.lanyus.com/ilanyu lanyu19950316@gmail.com 在此感謝 IDEA開源社區 http://www.ideajava.org/  Paste_Image.png  Paste_Image.png 三:使用  Paste_Image.png  Paste_Image.png  Paste_Image.png  Paste_Image.png 配置完畢!
 Paste_Image.png 啟動項目之后 任意修改 java 代碼,并 ctrl + s 保存 ,update classes and resources 一下。
當一個項目使用maven多模塊開發時通過上面的配置, 只能自動加載webapp所在的模塊, 若想改動其他模塊的代碼也要自動加載, 需在項目的根(父)pom.xml中加入下面的配置:
 <plugin> <groupId>org.zeroturnaround</groupId> <artifactId>jrebel-maven-plugin</artifactId> <version>1.1.5</version> <configuration> <addResourcesDirToRebelXml>true</addResourcesDirToRebelXml> <alwaysGenerate>true</alwaysGenerate> <showGenerated>true</showGenerated> </configuration> <executions> <execution> <id>generate-rebel-xml</id> <phase>process-resources</phase> <goals> <goal>generate</goal> </goals> </execution> </executions> </plugin>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
運行mvn jrebel:generate, 生成rebel.xml文件. 
一:文件級別的注釋 文件級別的注釋通過File--》Setting--》File and Code Template中來設置 二:方法級別的注釋 1、點擊File--》Setting--》Live Template,點擊右側的+號,選擇Template Group 2、輸入MyGroup(你也可以輸入其他自定義的名稱),然后點擊OK。 3、選中MyGroup之后,再次點擊右側的+號,選擇Live Template 4、點擊第四步的Define,選擇EveryWhere 5、點擊右邊的Edit variables 6、點擊OK,Apply,退出,大功告成。頁面任意地方輸入cmt,然后點擊回車,進行體驗吧
摘要: 不嚴謹的寫法,可能會報錯:in (),這種情況不符合SQL的語法,導致程序報錯。如果簡單只做非空判斷,這樣也有可能會有問題:本來in一個空列表,應該是沒有數據才對,卻變成了獲取全部數據!所以一個比較周全的方法是:12345678910111213<select id="findLastPoolTaskIdsForMo" resultMap="poolTaskResult"... 閱讀全文
My problem fixed after I added below dependency to my pom.xml and downgrade the spring-boot-starter-parent to version 1.5.2.RELEASE. <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-netflix-eureka-server</artifactId><version>1.1.6.RELEASE</version></dependency>
解決辦法:找到tomcat目錄的conf下的server.xml <Context docBase="fms3" path="/fms3" reloadable="true" source="org.eclipse.jst.jee.server:fms3"/></Host> 工程右鍵properties下的web project setting的context root和上面的path,docbase保持一致
第一步:下載jrebel tomcat和eclipse的安裝就不說了,打開eclipse,打開help-》Eclipse Marketplace,搜索jrebel,點擊Installed安裝。  第二步:激活打開help-》Jrebel Configuration-》Overview,點擊Activate/Update License, Open Help > JRebel Activation in your IDE 選中connect to license server 輸入http://jrebel.scuxl.cn/xxx,隨便輸入一個郵箱  輸入這個,馬賽克部分隨便填個郵箱 第三步:配置tomcat服務器 還是剛才的Jrebel Configuration配置頁面,打開Startup欄,選擇Run via IDE,選擇servers:  這里特別強調了Project-》Build Automatically要勾選上。 第四步:配置需要熱部署的項目 還是剛才的Jrebel Configuration配置頁面,打開Projects欄,勾選JR圖標下的項目,這里會在項目里生成一個rebel.xml文件。  第五步:編譯項目,啟動servers 在Servers攔下右擊tomcat server選擇start啟動,更改代碼測試一下你的熱部署是不是即時的吧
------------------------------------------------------------------ 另一種激活方式 方法2: MyJrebel 登錄這個網站,使用臉書或者推特登錄(需要越墻),然后輸入郵箱,會要求驗證(登錄郵箱驗證,點擊驗證鏈接),在輸入手機號,不需要驗證手機號。之后會進入  把這個粘到開發工具里面也可以無限制使用。 
systemctl stop firewalld.service #停止firewall
這要說到==和 equals 的區別了。 1. ==比較的是兩個對象在內存中的地址值(棧中的內容)。 2.equals 是 Java.lang.Object 類的一個方法。equals 比較的是兩個對象的內容(堆中的內容)。java 中所有的類都默認繼承于 Object,所以所有的類都有這個方法。 但是 Long 是一個對象,是對 long 的封裝。我們看一下 Long 對象的源碼,里面的 equals 方法是這么寫的: 1 public boolean equals(Object obj) { 2 if (obj instanceof Long) { 3 return value == ((Long)obj).longValue(); 4 } 5 return false; 6 } 所以兩個 Long 類型的變量進行比較的話,要么用 equals,要么先調用longValue 方法,拿到里面的 long 值之后再進行==比較。
通過HttpClient請求webService 由于服務端是用webService開發的,android要調用webService服務獲取數據,這里采用的是通過HttpClient發送post請求,獲取webService數據。 服務端使用的webService框架是axis2,請求數據之前,要封裝一個xml格式,再通過post請求,獲取服務端數據。 請求的xml格式如下所示: 1 | < soap:Envelope xmlns:soap = "http://www.w3.org/2003/05/soap-envelope" xmlns:sam = "http://user.service.xxx.com" > | 5 | < sam:userName >sunlightcs</ sam:userName > | 其中:getUserInfo是方法名,userName是參數名,當然,還可以加多個參數。 下面的代碼是向webService發送請求,獲取數據,返回的數據是xml形式的,android只要解析xml數據,就可以獲得想要的數據了。 01 | import java.io.IOException; | 02 | import java.io.OutputStream; | 03 | import java.io.OutputStreamWriter; | 04 | import java.io.Writer; | 06 | import org.apache.http.HttpResponse; | 07 | import org.apache.http.client.HttpClient; | 08 | import org.apache.http.client.methods.HttpPost; | 09 | import org.apache.http.entity.ContentProducer; | 10 | import org.apache.http.entity.EntityTemplate; | 11 | import org.apache.http.impl.client.DefaultHttpClient; | 12 | import org.apache.http.util.EntityUtils; | 15 | public class ClientTest { | 17 | public static void main(String[] args) { | 18 | ClientTest.httpClientPost(); | 21 | private static void httpClientPost() { | 22 | HttpClient client = new DefaultHttpClient(); | 23 | HttpPost post = new HttpPost( "http://localhost:8080/xxx/services/userService" ); | 26 | ContentProducer cp = new ContentProducer() { | 27 | public void writeTo(OutputStream outstream) throws IOException { | 28 | Writer writer = new OutputStreamWriter(outstream, "UTF-8" ); | 33 | String requestXml = getRequestXml(); | 34 | writer.write(requestXml); | 39 | post.setEntity( new EntityTemplate(cp)); | 40 | HttpResponse response = client.execute(post); | 43 | System.out.println(EntityUtils.toString(response.getEntity())); | 44 | } catch (IOException e) { | 50 | private static String getRequestXml(){ | 51 | StringBuilder sb = new StringBuilder( "<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:sam=\"http://user.service.xxx.com\">" ); | 52 | sb.append( "<soap:Header/>" ); | 53 | sb.append( "<soap:Body>" ); | 54 | sb.append( "<sam:getUserInfo>" ); | 55 | sb.append( "<sam:userName>sunlightcs</sam:userName>" ); | 56 | sb.append( "</sam:getUserInfo>" ); | 57 | sb.append( "</soap:Body>" ); | 58 | sb.append( "</soap:Envelope>" ); | 返回的數據格式如下: 1 | <? xml version = '1.0' encoding = 'UTF-8' ?> | 2 | < soapenv:Envelope xmlns:soapenv = "http://www.w3.org/2003/05/soap-envelope" > | 4 | < ns:getUserInfoResponse xmlns:ns = "http://user.service.xxx.com" > | 5 | < ns:return >xxx</ ns:return > | 6 | </ ns:getUserInfoResponse > | 其中,<ns:return>內的"xxx"可以是json數據,android只需解析標簽<ns:return>里的json數據即可。 轉載 http://www.juziku.com/wiki/3919.htm
netstat -pan|grep 7001 找到進程號,kill -9殺死 打開啟動路徑 nohup ./startWeblogic.sh & tail -f nohup.out看啟動日志 --------------------------- csh 服務端運行 ps -ef | grep weblogic kiss -9 sid(左邊id) ( 查看后臺web進程 #ps -ef|grep java 如: root 123456 2346546 root 1346464 64646464 殺后臺進程 :#kill -9 1346464 ) cd 到。。。bin/startWebLogic.sh & 注意大小寫
java.lang.ClassCastException: weblogic.xml.jaxp.RegistryDocumentBuilderFactory 解決辦法 刪掉war包中的xml-apis.jar就可以了
右鍵pom文件 run as --> maven build, goals填入相應命令,點run 打包 goals 輸入 clean package 安裝jar到倉庫 goals 輸入 clean install 測試 goals 輸入 clean test 編譯 goals 輸入 compile
清除 goals輸入 clean clean 清除編譯,compile 編譯,test 編譯并 測試,install 打包并發送到本地倉庫,package 只是打成jar包,并不會發送到本地倉庫
public enum MessageLevel { LOW { @Override public String getDesc() { return "低"; }
@Override public String getCode() { return "L"; }
@Override public String getIcon() { return "medal_bronze_1.png"; }
}, HEIGH {
@Override public String getDesc() { return "高"; }
@Override public String getCode() { return "H"; }
@Override public String getIcon() { return "medal_gold_1.png"; }
}, NORMAL {
@Override public String getDesc() { return "中"; }
@Override public String getCode() { return "N"; }
@Override public String getIcon() { return "medal_silver_1.png"; }
}; public abstract String getDesc();
public abstract String getCode();
public abstract String getIcon(); } - public static void main(String[] args)
- {
- System.out.println(MessageLevel.LOW.getDesc());
- System.out.println(MessageLevel.LOW.getCode());
System.out.println(MessageLevel.LOW.getIcon()); - }
----------------------------------------------------------------------------------------------- - public enum Operation
- {
- PLUS
- {
- public double eval(double x,double y)
- {
- return x+y;
- }
- },
- MINUS
- {
- public double eval(double x,double y)
- {
- return x-y;
- }
- },
- TIMES
- {
- public double eval(double x,double y)
- {
- return x*y;
- }
- },
- DIVIDE
- {
- public double eval(double x,double y)
- {
- return x/y;
- }
- };
- //為枚舉類定義一個抽象方法,這個抽象方法由不同的枚舉值提供不同的實現。
- public abstract double eval(double x,double y);
- public static void main(String[] args)
- {
- System.out.println(Operation.PLUS.eval(3,4));
- System.out.println(Operation.MINUS.eval(5,4));
- System.out.println(Operation.TIMES.eval(5,4));
- System.out.println(Operation.DIVIDE.eval(5,4));
- }
- }
classpath 首先 classpath是指編譯過后的WEB-INF文件夾下的的classes目錄 - 對于maven的所有項目, 配置文件一般放在resources目錄下, 當編譯之后會自動復制到
classes 目錄下 - 非maven的所有項目, 一般放在src目錄下, 編譯之后也會自動復制到
classes 目錄下面. - 所有的web-app項目, 例如web.xml, spring的配置文件等等,是放在webapp/WEB-INF下面的,
如果想要引用resources或者src目錄下的配置文件, 就在在配置文件的路徑前加上classpath:, 例如MyBatis配置文件的引用.<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="configLocation" value="classpath:MybatisConfiguration.xml"/> <property name="mapperLocations" value="classpath*:com/tenlee/mapper/UserMapper.xml"/> </bean> - 如果不加的的話,那么都要把配置文件放在
WEB-INF/ 目錄下面, 但這樣不能單獨運行java類進行調試了,必須要啟動整個webapp, 比如這樣<init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/configs/mvc-dispatcher.xml</param-value> </init-param> classpath 和 classpath* 區別: - classpath:只會到你的classes路徑中查找找文件
- classpath* :不僅包含classes路徑,還包括jar文件classes路徑進行查找
-
classpath: 與classpath* :的區別在于,前者只會從第一個classpath中加載,而后者會從所有的classpath中加載 如果要加載的資源,不在當前ClassLoader的路徑里,那么用classpath:前綴是找不到的,這種情況下就需要使用classpath*: 前綴. - 另一種情況下,在多個classpath中存在同名資源,都需要加載,那么用
classpath: 只會加載第一個,這種情況下也需要用classpath*: 前綴. - 可想而知,用
classpath*: 需要遍歷所有的classpath,所以加載速度是很慢的,因此,在規劃的時候,應該盡可能規劃好資源文件所在的路徑,盡量避免使用classpath*
摘要: 如果你經常需要在Eclipse里打開相關資源文件所在的文件夾,比較麻煩,要右鍵,屬性,在Location一欄中把所在的文件夾拷貝一下,然后再去資源管理器里輸入這個路徑,回車,然后打開它,比較麻煩。下載地址:http://download.csdn.net/download/lang791534167/8585091eclipse3.6以下的版本將下載的jar包復制到plugins目錄下3.6以上包... 閱讀全文
摘要: 解決方法: 步驟一: 從http://maven.oschina.net/content/groups/public/org/apache/maven/archetypes/maven-archetype-quickstart/ 下載最新版maven-archetype-quickstart-1.1.jar 步驟二: 命令行到下載目錄下執行 mvn install... 閱讀全文
properties文件默認應該顯示為unicode編碼,如果安裝propertiesEditor插件后可顯示為中文 如果沒有安裝插件,但顯示中文,則程序調用屬性文件會出現亂碼問題,這樣就需要手動來將中文轉為unicode 直接使用JDK自帶的工具:native2ascii.exe 運行cmd,直接用命令的形式,找到文件對應的目錄,輸入以下命令, 命令格式:native2ascii -encoding UTF-8 源文件名.properties 目標文件名.properties 就可以將含有中文的源文件轉為unicode編碼的目標文件
最近在研究dubbo,避免不了從最簡單的開始。按照網上教程啟動zookeeper,啟動tomcat時總是報錯, ERROR context.ContextLoader - Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'uriBrokerService': Cannot create inner bean '(inner bean)' of type [com.alibaba.citrus.service.uribroker.impl.URIBrokerServiceImpl$URIBrokerInfo] while setting bean property 'brokers' with key [0]; nested excepti on is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#25': Cannot create inner bean 'server' of type [com.alibaba.citrus.service.uribroker.uri.GenericURIBroker] while setting constructor argument; nested exception is org.springframework.beans.fact ory.BeanCreationException: Error creating bean with name 'server': Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'URIType' of bean class [com.alibaba.citrus.service.uribroker.uri.GenericURIBroker]: Bean property 'URIType' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter? at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:230) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:287) 查了很久,終于發現問題所在,現在記錄下 原來是我用的jdk版本太高,jdk8, dubbo默認用的spring版本比較舊,沖突導致,降低jdk版本為1.7即可
|