자바 프로젝트에서 참조하고 있는 jar 파일이 정상적인 파일임에도

cannot be read or is not a valid ZIP file 오류가 발생하며 빌드가 안되는 경우에는


이클립스를 종료 한 후

워크스페이스 폴더 밑의 아래 두개 파일을 삭제한 후 

이클립스를 재기동하면 해결된다.


.metadata\.plugins\org.eclipse.jdt.core\invalidArchivesCache

.metadata\.plugins\org.eclipse.jdt.core\nonChainingJarsCache


Posted by orange code

인터넷이 되지 않는 환경에서는 Update Site 등록을 통한 플러그인 설치가 불가능할 수 있다.

그럴경우 zip 으로 된 아카이브 파일이 제공되면 쉽게 해결할 수 있지만 제공되지 않을 경우

Update Site 전체를 구조 그대로 내려받아야하는 번거로움이 있다.

아래의 방법을 사용하면 Update Site 전체를 편하게 내려받을 수 있다.


1. update site 경로 확인

예제로 nodeclipse를 받아보자 (사실 nodeclipse는 zip파일을 제공하여 이 방법으로 할 필요는 없다)

홈페이지 (http://www.nodeclipse.org) 의 DOWNLOAD 메뉴를 통해 경로를 확인 https://dl.bintray.com/nodeclipse/nodeclipse/1.0.2f/


2. cmd 명령을 통해 eclipse 설치된 곳으로 이동하여 아래 명령어 입력


eclipsec.exe -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication -source https://dl.bintray.com/nodeclipse/nodeclipse/1.0.2f/ -destination D:\Nodeclipse


eclipsec.exe -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication -source https://dl.bintray.com/nodeclipse/nodeclipse/1.0.2f/ -destination D:\Nodeclipse




eclipsec.exe -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication -source 내려받을 사이트 URL -destination 저장할 로컬 경로


eclipsec.exe -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication -source 내려받을 사이트 URL -destination 저장할 로컬 경로



3. eclipse 로고가 떴다가 사라지는데 cmd 명령창의 eclipse가 종료될때까지 기다린다.


-destination 에 지정한 폴더에 가보면 파일이 하나씩 내려받아지는걸 확인가능하다.


3.1 다운로드가 끝나도 content.jar, site.xml 두개 파일이 없을 경우에는 url를 직접 입력하여 두개 파일을 다운받는다.


예) https://dl.bintray.com/nodeclipse/nodeclipse/1.0.2f/content.jar

https://dl.bintray.com/nodeclipse/nodeclipse/1.0.2f/site.xml



4. 다운받아진 폴더 전체를 zip으로 압축하여 플러그인을 설치하려는 환경에서 UpdateSite를 zip파일 아카이브로 등록하여 설치한다.


Posted by orange code

Eclipse 메뉴에서 File -> New -> Other 

플러그인 프로젝트를 선택한다.



프로젝트 이름을 정한다. 나머지는 기본 그대로


Name부분에 플러그인 이름을 적는다. 나머진 그대로


템플릿 사용을 체크해제 한다.

자동으로 생성되는 샘플을 보고 싶다면 목록중에 선택하면 된다.





Posted by orange code

Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);

URL entry = bundle.getEntry("/filename");


InputStream is = entry.openStream();

ByteArrayOutputStream baos = new ByteArrayOutputStream();

byte[] bb = new byte[4096];

int read = 0;

while ((read = is.read(bb)) > 0) {

baos.write(bb, 0, read);

}

baos.close();

is.close();


Posted by orange code
eclipse에서 plugins 폴더에 수작업으로 복사하여 설치한 플러그인이 인식되지 않는 경우

eclipse/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info
위의 파일을 열어서
목록에 있는 포맷에 맞춰 정보를 추가하고
eclipse를 재시작한다.
Posted by orange code
0. eclipse와 tomcat을 설치합니다.

1. ant 설정하기

windows -> preference -> ant -> runtime 으로 갑니다.

Add External JARs를 통해서 톰캣 설치 폴더에 lib 안에 있는 catalina-ant.jar 를 추가해줍니다.


2. 프로젝트 생성하기

JAVA 프로젝트로 하나 생성합니다.

적당히 TestJSP로 해보았습니다.


3. 폴더 구성



프로젝트 폴더 밑에 war 폴더를 만들고 그안에 그림과 같이 파일을 구성합니다..
자바 클래스들은 src, bin 으로 폴더가 나뉘는 기본 설정을 썼습니다.
war안에 jsp파일들을 추가하면 됩니다.
WEB-INF폴더와 그 안의 web.xml는 필수로 추가하여야합니다.

4. build.xml 추가

<project name="My Application" default="redeploy" basedir=".">
<property name="build" value="${basedir}/war" />
<property name="path" value="/TestJSP" />
<property name="url" value="http://localhost:8080/manager" />
<property name="username" value="admin" />
<property name="password" value="password" />
<taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask" />
<taskdef name="list" classname="org.apache.catalina.ant.ListTask" />
<taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask" />
<taskdef name="resources" classname="org.apache.catalina.ant.ResourcesTask" />
<taskdef name="roles" classname="org.apache.catalina.ant.RolesTask" />
<taskdef name="start" classname="org.apache.catalina.ant.StartTask" />
<taskdef name="stop" classname="org.apache.catalina.ant.StopTask" />
<taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask" />
<target name="compile" description="Compile web application">
<war destfile="${basedir}/deploy.war" webxml="${build}/WEB-INF/web.xml">
<fileset dir="${basedir}/war">
</fileset>
<classes dir="${basedir}/bin">
</classes>
</war>
</target>

<target name="deploy" description="Install web application" depends="compile">
<deploy url="${url}" username="${username}" password="${password}" path="${path}" war="file:${basedir}/deploy.war" />
</target>
<target name="reload" description="Reload web application" depends="compile">
<reload url="${url}" username="${username}" password="${password}" path="${path}" />
</target>
<target name="undeploy" description="Remove web application">
<undeploy url="${url}" username="${username}" password="${password}" path="${path}" /> </target>
<target name="redeploy" description="Re-deploy web application" depends="undeploy,deploy" />
</project>

프로젝트에 build.xml 파일을 추가해줍니다.
그리고 path 의 값을 원하는 주소로, url 을 본인의 서버 주소로
username, password를 맞게 수정해줍니다.


5. 프로젝트에 ant 빌더 설정 추가하기

프로젝트 탐색기에서 프로젝트를 선택하고 속성페이지에 들어갑니다.
Builders 를 선택하고 New를 누릅니다. 여기서 Ant Builder 선택



main 탭에서 Buildfile 부분의 browse workspace를 누른다음에 build.xml를 골라줍니다.



targets 탭에서는 처음에는 위의 3가지를 deploy로 선택하고 한번 컴파일을 하면
deploy가 되면서 바로 웹페이지에서 확인해볼 수 있습니다.
그 후에는 스크린샷 처럼 redeploy로 바꾸면
소스를 수정하고 저장할때마다 바로 서버에 적용이 됩니다.
Posted by orange code
1. jsmooth 를 설치합니다. http://jsmooth.sourceforge.net/



2. 이클립스에서 프로젝트를 실행-jar로 내보내기 합니다.



설정은 적당히 합니다

3. jsmooth 실행~



프로그램 종류를 고릅니다.. 윈도우 프로그램이면 windowed를 고릅니다. 콘솔이면 위에꺼



실행파일 위치를 지정합니다.. 아이콘과 시작 디렉토리를 지정할 수 있습니다.. 생략도 됨..



use an embedded jar를 체크 하고 좀전에 내보내기한 jar를 선택합니다. 그리고 시작 함수가 있는 클래스를 골라줍니다.

안 골라주면 실행해도 바로 꺼지게 됩니다..



최소, 최고 JVM 버전을 작성할 수도 있습니다.. 전 그냥 패스..

다 됐으면 project-> compile을 합니다. 그럼 좀전 지정한 곳에 실행파일이 만들어 집니다

그럼 jar파일이 없어도 실행되게 되죠~
Posted by orange code
이번엔 다른 디컴파일러를 쓰는 방법입니다..  저는 이쪽의 결과가 더 좋은것 같네요..

1. 마찬가지로 Help -> Install New Software... 를 누릅니다

Add 버튼을 눌러 Location에 http://java.decompiler.free.fr/jd-eclipse/update 을 적고 OK를 누릅니다.

Java Decompiler Eclipse Plug-in를 설치하고 이클립스를 재시작합니다.




2. Window -> Preferences

General -> Editors -> File Associations 에서

*.class를 선택하고 밑에서 편집기를 Class File Editor를 선택하여 Default 로 지정합니다.



따로 받아야 하는 파일은 없습니다.

3. 보고 싶은 클래스에 우클릭하여 Open Declaration을 선택하거나 단축키인 F3을 눌러서

소스를 봅니다~
Posted by orange code
1. Help -> Install New Software... 를 누릅니다

Add 버튼을 눌러 Location에 http://jadclipse.sf.net/update 을 적고 OK를 누릅니다.

밑 플러그인 목록에 JDT Decompiler Features를 체크 하여 설치합니다.

이클립스를 재시작합니다.



2. Window -> Preferences

General -> Editors -> File Associations 에서

*.class를 선택하고 밑에서 편집기를 Decompiled Class File Viewer를 선택하여 Default 로 지정합니다.



Java -> Decompilers 에서

Decompiler를 Jad를 선택합니다.



3. http://www.varaneckas.com/jad 에서 jad를 다운받습니다.


압축을 풀어 이클립스 실행파일이 있는 폴더에 복사합니다.



4. 이제 편집기에서 소스가 궁금한 클래스명을 선택하고 F3을 누르면..

디컴파일된 소스가 보이게 됩니다.. 클래스에 따라서.. 결과가 제대로 나오지 않을 수도있습니다.. 

참고로 실제 소스와 완전히 같지 않기 때문에 디버깅시에 전혀 엉뚱한 라인을 가리킵니다..ㄱ-


Posted by orange code

1. JDBC를 설치한다..
jdbc는 자바 디비 커넥터 약자로... 자바에서 해당 디비 프로그램에 연결하려면 필요하다
mssql용 jdbc는 http://msdn.microsoft.com/en-us/data/aa937724.aspx 여기에서 받을수 있다..
압축을 푼후 폴더를 열어보면 sqljdbc.jar 와 sqljdbc4.jar 가 나오는데
본인이 jre6.0이상이면 sqljdbc4.jar 를.. 그 이하이면 sqljdbc.jar 를 사용하면 되는데
해당 파일을 jre폴더\lib\ext 에 복사해주면 아주 잘 작동한다.. 둘다 복사하지 말고 자신에 맞는것만 복사하자..

2. 자바 코딩
모든 jdbc 커넥터가 그렇듯.. 일단 드라이버 클래스를 읽어야한다.
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
이 한줄이면 클래스를 찾은후에 드라이버 리스트에 자동등록되게 된다..
원하는 디비에 연결하려면
DriverManager.getConnection("jdbc:sqlserver://서버이름[:포트][;옵션=값[;추가옵션=값]]")
이런 형식을 따르게 된다..
예를 들어 자신컴퓨터에 윈도우계정인증으로 접속할경우
jdbc:sqlserver://localhost;intergratedSecurity=true
자신컴퓨터에 지정된 계정과 비번을 쓸 경우
jdbc:sqlserver://localhost;user=아이디;password=암호
포트가 다를경우
jdbc:sqlserver://localhost:1234;user=아이디;password=암호
대강 이런식으로 하면된다..

이 다음부턴 다른 자바 디비 프로그래밍과 동일하다..

3. 접속이 안될경우.. http://msdn.microsoft.com/ko-kr/library/ms378845(SQL.90).aspx
나의 경우 sql서버 기본포트 1433으로 접속되지 않아 삽질을 했는데
일단 sql서버 설정 관리자에서
SQLServer네트워크구성 -> 프로토콜 -> TCP/IP 를 사용으로 변경해 주고
IP 주소 탭에서, IPALL부분의 TCP포트를 1433으로 직접 적어주어야 sql서버에서 잘 대기하게 된다..
1433가 기본값이라곤 하는데 Visual Stduio 2008을 깔면서 자동으로 같이 깔리면서 설정이 마음대로 바뀌어서 설치된듯하다..

4. SQL Server Management Studio Express
만약 visual studio 2008 설치하면서 sqlserver2005가 깔렸다면 따로 db관리 프로그램이 설치되지 않았을것이다..
이 프로그램으로 편하게 관리하길 http://go.microsoft.com/fwlink/?LinkId=65110
Posted by orange code