'Eclipse'에 해당되는 글 82건
- 2013.03.29 전자정부 표준프레임워크 개발환경에서 servlet-api가 배포되어 에러가 나는 경우
- 2013.02.09 STS 설치 - Grails 플러그인 추가
- 2012.05.22 이클립스에서 실행되지 않는 웹 어플리케이션
- 2012.01.11 Access restriction
- 2012.01.10 [SVN] Path is not a working copy directory
- 2011.11.14 이클립스에서 표준 출력을 파일로 저장하기
- 2011.10.05 [SVN] RA layer file already exists
- 2011.09.07 cannot be resolved ...
- 2011.08.15 NetBeans에서 SVN 저장소 Checkout하기 (Eclipse와 소스 공유)
- 2011.08.07 Eclipse Refactor - Convert Local Variable to Field
- 2011.08.07 Eclipse Refactor - Inline
- 2011.08.07 Eclipse Refactor - Move
- 2011.08.03 svn:ignore에서 제외하기
- 2011.08.01 WindowBuilder
- 2011.08.01 Equinox p2 를 이용한 Eclipse 설치
- 2011.04.26 Eclipse에서 jar 실행시키기
- 2011.04.05 Eclipse 에서 라이브러리 삭제후 import 가 되지 않을 때
- 2011.04.03 SVN Commit 에러 - 시간이 오래되었습니다.
- 2011.03.18 TCP/IP Monitor
- 2011.03.14 Eclipse 에서 static import 를 쉽게 사용하기
- 2011.01.01 [IBM dWs] Java SE 6, Ecipse, Ant 를 이용한 간단한 웹 서비스
- 2010.10.07 황당한 실수
- 2010.09.08 Eclipse 프로젝트에 에러 표시가 없어지지 않는 경우 해결방법
- 2010.09.05 이클립스 신기한 기능
- 2010.08.25 이클립스 버그 경고 기능
- 2010.08.25 Subversion에서 Tag를 잘못 단 경우
- 2010.08.25 이클립스에 설치된 플러그인 확인하기
- 2010.08.17 FindBugs
- 2010.08.16 Eclipse에서 Ant로 HSQLDB 사용하기
- 2010.08.01 Eclipse 바꾸기
- 전자정부 표준프레임워크 개발환경에서 servlet-api가 배포되어 에러가 나는 경우
- 日常茶飯事
- 2013. 3. 29. 02:15
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'springSecurityFilterChain' is defined
심각: Error configuring application listener of class org.springframework.security.ui.session.HttpSessionEventPublisher
java.lang.ClassNotFoundException: org.springframework.security.ui.session.HttpSessionEventPublisher
심각: Exception Processing ErrorPage[exceptionType=java.lang.Throwable, location=/common/error.jsp]
org.apache.jasper.JasperException: /common/error.jsp(2,62) Unable to read TLD "META-INF/c.tld" from JAR file "file:/C:/egovfrm/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/testprj/WEB-INF/lib/jstl-1.2.jar": org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV
- 개발자들이 servlet-api-2.5.jar, jsp-api-2.0.jar가 배포되어서 나는 에러라고 한다.
전자정부 표준프레임워크 개발환경 2.5에서는 발생하지 않고, 2.0에서만 발생.
Server를 Clean하고, servlet-api-2.5.jar, jsp-api-2.0.jar를 제거하면 정상적으로 동작한다고 함. 1
매번 이래야 된다고.
- 먼저 Dependcy 설정을 의심.
provided로 되어 있음.
- 관련 글을 참고해서 해결
프로젝트의 Deployment Assembly에서 Maven Dependencies를 제거하고 war:inplace Goal(Run As - Maven build ...)을 실행시키면 된다.
(그래도 남아 있으면 Maven clean을 하던지, WEB-INF/lib/*.jar를 모두 지우자) 2
Maven Dependencies에는 해당 라이브러리가 있지만 WEB-INF/lib/에는 없다.
- STS 설치 - Grails 플러그인 추가
- 日常茶飯事
- 2013. 2. 9. 22:21
zip 파일로 된 배포본을 다운로드받고 압축을 푼다.
- Grails 플러그인 추가
- 이클립스에서 실행되지 않는 웹 어플리케이션
- 日常茶飯事
- 2012. 5. 22. 06:00
로그가 자세하게 않나온다. ==> [todo] 이거 설정 바꾸면 자세하게 나오지 않나?
- web.xml의 순서가 잘못된 것으로 파악.
- 검색해보니 Log4jConfigListener를 ContextLoaderListener보다 먼저 하라고 하는데 나는 해당 안됨.
동일한 소스가 개발기, 운영기에서 잘 돌아가고 있음.
Listener 설정을 빼니깐 어느 정도 돌아가서 그런줄 알았음.
- 혹시나 해서 6.0에서 돌리니깐 에러가 자세하게 나옴.
클래스를 못찾는다.
- 여기 저기 뒤져보니 클래스 파일이 배포되지 않고 있었다.
D:\reps\eclipse_indigo_workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\TestWEBApp\WEB-INF\ 에 classes/가 없다.
왜.....?
여기 메커니즘은 잘 모르는데...
잘 실행되는 웹 어플리케이션과 비교해보니 조금 다른다.
무슨 이유인지 5번째 줄이 빠져 있다.
소스 디렉토리가 달라서 이걸 적용하다가 잘못된거 같기도 하고, SVN에서 받으면서 잘못 되었나???
3시간을 헤맷다.
이걸 잘 활용하면 환경 설정 파일을 다른 곳에 두고 배포할 수도 있겠다.
그리고 소스 디렉토리를 WEB-INF/ 아래에 두지마.
WEB-INF/ 가 통으로 배포되어서 소스까지도 배포된다.
(exclude 할 수 있을려나?)
- 그런데 다음날 실행해보니 또 404 에러가 떨어진다.
Clean을 한다.
- Access restriction
- 日常茶飯事
- 2012. 1. 11. 19:26
1. Build path에서 JRE Library를 삭제했다가 다시 추가하면 된다고 한다.
이건 좀 아닌듯.
2. Compile시 Acces rule을 변경한다.
Java Compiler - Errors/Warnings - Deprecated and restrited APIs - Forbidden reference (acess rule)
Change to warning or ignore.
- [SVN] Path is not a working copy directory
- 日常茶飯事
- 2012. 1. 10. 21:53
검색을 해보니 Cleanup을 하라고 하는데 아직 SVN에 올리지도 않았는데...쩝
이런 글이 있어서 JavaHL에서 JavaSVN로 바꿨다.
- 이클립스에서 표준 출력을 파일로 저장하기
- 日常茶飯事
- 2011. 11. 14. 01:00
표준출력이 Console 뷰로 출력되는데 WAS를 재시작하면 Console 내용이 지워져서 많이 불편했다.
이 표준출력을 파일로 저장하는 방법이 있다.
파일 위치를 지정할 수 있고 Append 옵션이 있다.
- [SVN] RA layer file already exists
- 日常茶飯事
- 2011. 10. 5. 10:02
Adding D:/reps/nwds/prt.xxx/src.core/net/test/TestComponent.java
RA layer file already exists
svn: Commit failed (details follow):
svn: File '/svn/TestRop/prt.xxx/trunk/src.core/net/test/TestComponent.java' already exists
- 환경 : NWDS + Subclipse_0.9.3.3
- 특정 파일이 커밋이 안됨.
- 해당 파일 Update 비활성화
- Revert를 해도 변동없음.
- 해당 패키지를 Update 하면 다음과 같은 에러 발생
Obstructed update
svn: Failed to add file 'D:/reps/nwds/prt.xxx/src.core/net/test/TestComponent.java': object of the same name already exists
- 저장소에서 해당 파일을 찾아보면 이미 존재하고 있음.
저장소의 파일과 작업본의 파일을 비교해 보면 동일하다.
그래서 작업본에서 해당 파일을 삭제하고 Update 받아서 해결함.
- Cleanup 으로 하면 된다고도 함.
- cannot be resolved ...
- 日常茶飯事
- 2011. 9. 7. 05:00
com.sapportals.connector.connection.IConnection에는 close()가 없다.
그런데 샘플코드에서는 close()를 사용하고 있음.
잘못된 클래스를 참조하는 줄 알고 라이브러리를 뒤짐.
그러나...
implements javax.resource.cci.Connection
javax.resource.cci.Connection에 close()가 있고 이 클래스가 들어있는 connector.jar를 참조하지 못해서 발생한 에러임.
- NetBeans에서 SVN 저장소 Checkout하기 (Eclipse와 소스 공유)
- 日常茶飯事
- 2011. 8. 15. 10:41
2. 넷빈즈에서 가져온다.
3. Local Folder에 소스는 내려받아졌다.
이때 내려받은 소스의 디렉토리명을 적절하게 변경한다.
위와 같은 경우는 TestWebapp이므로 변경할 필요가 없지만 저장소의 trunk 디렉토리를 받으면 로컬에도 trunk라는 이름으로 생김.
4. 프로젝트를 선택한다.
5. 프로젝트 생성 위치를 지정한다.
5. 각 디렉토리를 지정한다.
6. 버전관리하지 않아도 되는 리소스를 지정한다.
build.xml은 다른 곳에서 사용할 수 있으므로 제외
nbproject/ 는 넷빈즈에서 다시 생성해 주므로 제외
build/ 도 제외(여기서 안보이는 것은 Eclipse에서 이미 해서 그럴거야)
conf/ 는 포함시키는게 좋을 듯 [todo] 아직 미정임...
sun-web.xml 필요에 따라 설정을 추가할 수도 있으므로 포함시킨다.
- Eclipse Refactor - Convert Local Variable to Field
- 카테고리 없음
- 2011. 8. 7. 15:43
setUp()를 생성하고, testCreate()의 session를 이동시킨다.(Alt+Up)
testEnrollStudents()의 session은 삭제
- Eclipse Refactor - Inline
- 日常茶飯事
- 2011. 8. 7. 15:35
- Eclipse Refactor - Move
- 日常茶飯事
- 2011. 8. 7. 15:30
- svn:ignore에서 제외하기
- 日常茶飯事
- 2011. 8. 3. 02:29
todo=여기에 대한 정립을 하자. 결론은 .classpath를 잘 추가하면 된다. 그리고 .settings/도 올려야 함.
todo=svn사용시 제외 항목들(svn ignore)
target/
web-app/plugins/
web-app/WEB-INF/classes/ =todo
.classpath 파일을 svn:ignore에 포함시키면 안되는데 습관적으로 추가시켜 버렸다.
.classpath 파일을 형상관리하도록 다시 설정해야 함.
- Subclipse 기준
Team - Show Properties
svn:ignore 속성 변경후 commit ([todo] 이걸 먼저 add to version control 처리를 해야 하나?)
그리고 나서 update, commit
- WindowBuilder
- 日常茶飯事
- 2011. 8. 1. 13:52
- WindowBuilder Pro
- 플러그인 설치
Installing WindowBuilder Pro
- WindowBuilder for Helios : http://dl.google.com/eclipse/inst/d2wbpro/latest/3.6
- Indigo : http://dl.google.com/eclipse/inst/d2wbpro/latest/3.7
모두 선택했는데 GWT, SWT가 필요없으면 선택 해제
- 하나 그려보자
Java Project 생성
Swing Designer - Application Window Wizard 실행
getContentPane()를 선택하고 Layout을 Absolute Layout으로 선택한다.
JButton을 선택하고 버튼을 하나 만든다.
버튼에 연결된 이벤트(actionPerformed)로 이동해서 메세지창을 띄우도록 코딩한다.
VB나 PB가 부럽지 않다.
MFC로 윈도우 프로그래밍하려던 생각이 싹 사라진다.
- Equinox p2 를 이용한 Eclipse 설치
- 日常茶飯事
- 2011. 8. 1. 05:24
이클립스를 여러 개 사용할 때 중복되는 플러그인을 관리할 수 있게 해준다.
무거운 플러그인을 사용할 때는 이클립스를 복사해서 사용하는데 Equinox p2 agent 를 이용하면 적은 용량으로 빠르게 이용할 수 있을거 같다.
- http://download.eclipse.org/equinox/ 에서 다운로드 받을 수 있다.
3.7M2
3.5
- 저장소를 추가할 때는 Metadata Repositories 와 Artifact Repositories 에 모두 추가한다.
- 설치하면서 마지막에 에러가 나서 실패함.
- 플러그인을 공유할 수 있어서 좋긴 한데, 이렇게 설치된 Eclipse SDK 에서 Java EE 플러그인을 설치해야 하는 일이 더 힘들거 같다.
Eclipse IDE for Java EE Developers 를 다운받아서 사용하고 다른 플러그인을 최소로 사용하는게 나을듯.
- Eclipse에서 jar 실행시키기
- 日常茶飯事
- 2011. 4. 26. 01:50
jar 파일에서 Run As - Java Application (Alt + Shift + X, J ) 을 누르면 실행가능한 클래스가 나온다.
- Eclipse 에서 라이브러리 삭제후 import 가 되지 않을 때
- 日常茶飯事
- 2011. 4. 5. 19:00
SVN 에서 Update 를 받았는데 WEB-INF/lib/ 의 jar 파일 하나가 삭제 되었다.
지운 jar 파일을 참조하던 소스에 에러가 났는데, import 가 되지 않는다.
Build Path 를 보니 Web App Libraries 에 지운 jar 파일이 missing 으로 표시되어 있다.
Web App Libraries 내의 파일은 지워지지가 않는다.
Web App Libraries 를 삭제하고 Add Library 로 다시 설정하였다.
(처음에는 안되더니 몇 번 하니깐 되네...쩝)
- SVN Commit 에러 - 시간이 오래되었습니다.
- 日常茶飯事
- 2011. 4. 3. 18:30
(히스토리를 확인해보니 test 패키지에 있던 파일 삭제만 commit 이 되었다.)
test/ 가 남아서 이것도 commit 하려고 하니 에러가 발생한다.
이 포스팅대로 Java EE Perspective 에서 commit 해도 동일한 에러가 발생.
(해당 글에서는 update 를 하라고 했음)
에러가 발생할 당시 리비전이 3이었음.
삭제후 리비전이 43이므로 시간이 오래되었다는 에러가 발생한거 같다.
update 를 하니 리비전이 43으로 변경되었다.
commit 완료
- TCP/IP Monitor
- 日常茶飯事
- 2011. 3. 18. 18:20
어떤 특이한 에러가 발생해서 이클립스 TCP/IP Monitor 로 확인해봤다.
Local monitoring port 는 브라우저에서 요청할 포트
Monitor 에는 실제 서버의 주소와 포트를 입력한다.
Request 와 Response 의 헤더도 볼 수 있다.
Response 를 텍스트, 브라우저로 렌더링해서 볼 수도 있다.
- SSL 을 모니터링하는 경우
Type 을 TCP/IP 로 둔다.
브라우저에서는 https://localhost:LocalMonitoringPort 로 요청한다.
- Eclipse 에서 static import 를 쉽게 사용하기
- 日常茶飯事
- 2011. 3. 14. 00:39
테스트 코드를 작성하다 보면 org.junit.Assert 클래스나 org.hamcrest.CoreMatchers 클래스의 메서드를 많이 사용하게 되는데 이게 좀 귀찮은 부분이 있다.
메서드가 여러 개라서 일일이 다 적기는 힘들다.
그래서 와일드카드를 사용하는데, Eclipse 의 Organize Imports 기능을 사용하면 와일드카드로 import 한 코드가 실제 사용된 메서드로 바뀐다. 1
그 후 import 되지 않은 메서드를 사용할때는?
매번 이러니 귀찮다.
그래서 Template 을 사용했다.
import static org.junit.Assert.*; 라는 구문이 삽입되도록 추가했다.
그러나 매번 소스 파일 최상단으로 이동해야 되서 귀찮아서 조금 사용하다 말았다.
이 문제에 대해서 여러 사람들이 고민하고 좋은 해결책을 제시했다.
Template 을 보다 보니 이미 import CoreMatchers, Test 라는 템플릿이 있었다.
여러 가지 방법들을 조합해서 몇가지 Template 을 만들었다.
create test method //잘안쓰나?
@${testType:newType(org.junit.Test)}
public void test${testname}(){
${si1:importStatic('org.hamcrest.CoreMatchers.*')}${si2:importStatic('org.junit.Assert.*')}${cursor}
}
import tests
${is2:importStatic('org.junit.Assert.*')}${is3:importStatic('org.springframework.test.web.servlet.setup.MockMvcBuilders.*')}${is4:importStatic('org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*')}${is5:importStatic('org.springframework.test.web.servlet.result.MockMvcResultMatchers.*')}${is6:importStatic('org.springframework.test.web.servlet.result.MockMvcResultHandlers.*')}${is7:importStatic('org.mockito.Mockito.*')}${is8:importStatic('org.mockito.Matchers.*')}${is9:importStatic('org.assertj.core.api.Assertions.*')}${is10:importStatic('org.mockito.ArgumentCaptor.*')}
${is1:importStatic('org.hamcrest.CoreMatchers.*')}${is2:importStatic('org.junit.Assert.*')}${is3:importStatic('org.springframework.test.web.servlet.setup.MockMvcBuilders.*')}${is4:importStatic('org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*')}${is5:importStatic('org.springframework.test.web.servlet.result.MockMvcResultMatchers.*')}${is6:importStatic('org.springframework.test.web.servlet.result.MockMvcResultHandlers.*')}${is7:importStatic('org.mockito.Mockito.*')}
assertThat with static import
${si1:importStatic('org.assertj.core.api.Assertions.*')}assertThat(${cursor}
assertThat(${cursor}, is(${si1:importStatic('org.hamcrest.CoreMatchers.*')}${si2:importStatic('org.junit.Assert.*')}
when
${si1:importStatic('org.mockito.Mockito.*')}when(${cursor}
이제는 테스트 코드 작성에만 신경쓰자.
- Number of static import needed for .* 를 99에서 1로 변경하면 된다고 함. [본문으로]
- [IBM dWs] Java SE 6, Ecipse, Ant 를 이용한 간단한 웹 서비스
- 日常茶飯事
- 2011. 1. 1. 16:05
Create stand-alone Web services applications with Eclipse and Java SE 6, Part 1: The Web service server application
- Eclipse와 Java SE 6을 사용하여 독립형 웹 서비스 개발하기: Part 2: 웹 서비스 클라이언트 응용프로그램
Create stand-alone Web services applications with Eclipse and Java SE 6: Part 2: The Web service client application
- Java SE 6, Ecipse, Ant 를 이용해서 간단한 웹서비스를 구현하고 모니터링한다.
Java SE 6 JDK 설치
Eclipse JRE 설정
서버
Ant 를 실행시키면 com.myfirst.wsServer.jaxws 가 생김 서버를 실행시키고, Internal Web Browser 로 http://localhost:8080/wsServerExample?wsdl 을 입력하면 WSDL 을 볼 수 있다.
Eclipse 의 Web Services Explorer 를 이용해서 웹서비스를 테스트해 볼 수 있다.
Java EE Perspective 에서 Run - Launch the Web Services Explorer 을 선택하고
http://localhost:8080/wsServerExample?wsdl 를 호출해서 getGreeting 을 직접 호출해 본다.
클라이언트
wsimport 태스크를 실행하면 WSDL 를 참조해서 JAX-WS 관련 스텁?이 생성된다.
- wsgen은 서비스 엔드 포인트 클래스를 읽고서 웹 서비스 전개 및 호출에 필요한 모든 아티팩트를 생성한다.
- wsimport는 WSDL을 읽고서 웹 서비스 개발, 전개 및 호출에 필요한 모든 아티팩트를 생성한다.
- Eclipse TCP/IP Monitor 를 이용해서 모니터링을 할 수 있다.
- Eclipse 프로젝트에 에러 표시가 없어지지 않는 경우 해결방법
- 日常茶飯事
- 2010. 9. 8. 12:57
Problems 뷰를 보면 원인을 찾을 수 있다.
- 위 경우는 컴파일러 버전이 맞지 않은 경우다.
Java Compiler - Compiler compliance level과 Project Facets의 버전을 맞춘다.
Java Compiler-Compiler compliance level, Generated .class files compatibility, Source compatibility에서 버전을 변경할 수 있다.(org.eclipse.jdt.core.prefs에 저장됨)
Dynamic Web Project에서는 직접 변경해야 되는 경우가 생길 수 있다.
- 형상관리시스템에서 소스를 update했는데 test/ 가 없어진 경우도 있었음.
- ClassNotFoundException 이 발생했는데 확인해 보니 클래스 파일이 생성되지 않았다.
Problems 뷰에 자세히 나와 있다.
- 이클립스 신기한 기능
- 日常茶飯事
- 2010. 9. 5. 11:41
더 좋은 기능 발견
소스를 복사해서 소스 디렉토리에 붙여넣으면 해당 클래스가 생기고 소스가 저장된다.
거기에 패키지까지 자동으로 만들어 진다.
우와...
- 이클립스 버그 경고 기능
- 日常茶飯事
- 2010. 8. 25. 23:00
- Subversion에서 Tag를 잘못 단 경우
- 日常茶飯事
- 2010. 8. 25. 21:30
URL을 변경하지 않고 그냥 달아서 발생했음.
Subclipse에서는 URL을 직접 적어야 한다.
http://1.2.3.4/rep/project/tags/R20100703A
- 이클립스에 설치된 플러그인 확인하기
- 日常茶飯事
- 2010. 8. 25. 20:00
- 어플리케이션으로 직접 실행시키기
- or -
findbugs-1.3.9/bin/findbugs.bat 실행
프로젝트를 만들고 클래스, 부가적으로 사용되는 클래스, 소스 위치를 지정한다.
특정 패키지의 클래스만 분석하는 경우 패키지를 지정하고 소스는 루트 디렉토리로 지정해야 한다.
(소스도 특정 패키지로 지정하면 제대로 안나옴)
찾지 못한 클래스는 콘솔에 나온다.
Auxillary class locations에 포함시켜준다.
- 이클립스 플러그인
개발중에 사용하면 좋을거 같다.
플러그인이 싫다면 GUI 를 이용해서 확인하도록 할 것.
- Ant 로 실행시키기
devlib/에 findbugs-ant.jar를 넣어둔다. 1
- 2012-03-18 findbugs/lib/ 를 클래스패스에 포함시켰으므로 이 작업은 더이상 필요없다. [본문으로]
- Eclipse에서 Ant로 HSQLDB 사용하기
- 日常茶飯事
- 2010. 8. 16. 20:29
예전 Tutorial에서 가져옴.
원출처는 여기
db.driver=org.hsqldb.jdbcDriver
db.url=jdbc:hsqldb:hsql://localhost
db.name=baseball
db.username=sa
db.password=
- Eclipse 바꾸기
- 日常茶飯事
- 2010. 8. 1. 16:27
Recent comment