Category Archives: Uncategorized

Java Application Ecexution on CommandLine

매번 jar파일을 보내는건 번거롭다. 이런경우에는 Maven을 이용해서 처리하는게 좋다.

스텐드얼론으로 실행시키는 경우에는 웹 어플리케이션도 tomcat이나 jboss에 얹는것보다는 was라이브러리를 써서 개별적으로 실행시키는게 유리한 경우도 있다.

이 두 플러그인이 필수다.

이클립스로 export하면 편하게 설정이 되는건데 maven에서는 귀찮은 설정이 많이 필요하다. 같은 기능을 하는 다른 플러그인이 여러가지가 있으니 같은 해결책을 찾아도 많은 방법이 있을 수 있다.

윗쪽 플러그인은 jar파일에 의존성파일들을 포함시키라는 명령.

두번째건 lib디렉토리에 의존성 jar를 포함시키라는 명령

 

윗쪽걸로만 하고 실행시키면…class not found가 뜬다. 이클립스로 export해서 해보니 제대로 잘 되는거 보면…. 저 플러그인 셋팅이 제대로 동작을 안하는것같다. 설정을 잘못해줬거나… 다음에 다시 봐야겠다.

svn또는 git을 이용하여 소스코드를 최신버전을 업뎃한후

mvn install

java -classpath .:target/lib/*:target/{application.jar} full.qulified.class.name

완료.

Android keytool 키값 생성

2013.05 현재시점에서 동작하는 방법

예전사이트는 접속도 안되고.. 구글에서 이 주소를 찾는것도 정말 힘들다.

구글은 역시… 기술은 좋은데 기획은 엉망이다.

https://code.google.com/apis/console

http://developer.android.com/tools/publishing/app-signing.html#setup
디버그용 키 생성할 때…
Signing in Debug Mode
The Android build tools provide a debug signing mode that makes it easier for you to develop and debug your application, while still meeting the Android system requirement for signing your APK. When using debug mode to build your app, the SDK tools invoke Keytool to automatically create a debug keystore and key. This debug key is then used to automatically sign the APK, so you do not need to sign the package with your own key.

The SDK tools create the debug keystore/key with predetermined names/passwords:

Keystore name: “debug.keystore”
Keystore password: “android”
Key alias: “androiddebugkey”
Key password: “android”
CN: “CN=Android Debug,O=Android,C=US”

스프링Spring – 하이버네이트Hibernate 연동 개발시에 설정 주의점

1. 테스트용으로 sql파일을 import하는 경우

hibernate.hbm2ddl.import_file = “META-INF/sql/user.sql,META-INF/sql/auth.sql”
이렇게 파일명을 정확히 적어줘야 한다.

“classpath:/META-INF/sql/user.sql”처럼 classpath라고 적으면 오류가 발생한다.
*.sql처럼 regex도 인식하지 못한다.

 

2. Annotation을 이용한 Sequence 생성시

GenerationType.AUTO로 해야 mysql에서  auto_increament가 적용된다. Generation.SEQUENCE라고 하면 SEQUENCE기능이 없는 mysql에서는 오류가 발생한다.

DB에 시퀀스가 생성이 되도 postgresql에서 insert쿼리를 사용시 자동으로 시퀀스가 default로 insert되지 않는다.

insert시에 nextval(‘user_id_seq’)를 명시해줘야하는 불편함이 있다. 오라클은 테스트를 안해봤지만 마찬가지일거라 생각되니 고민하지말고 바로 노가다를 시작…

 

Java 1.6 과 Java 1.7 하위호환

두 가지 버전을 섞어서 사용하면 Language Level 오류가 발생한다.

6.0 Override in interfaces
7.0 Diamonds, ARM, multi-catch etc.

의 옵션….

다른 버전으로 컴파일된 라이브러리를 사용하면 ClassFormatException이 발생할 수 있다.
아마도….

java는 아직도 6이 대세지만… 벌써 8.0의 스펙도 잡혀있는 것 같다.
8.0 Lambdas, type annotaions, etc.

오라클 early access
http://www.oracle.com/technetwork/java/javase/downloads/ea-jsp-142245.html

https://jdk8.java.net/
http://openjdk.java.net/projects/jdk8/

Maven Deploy to Nexus

1. pom.xml편집

여기저기 할게 많은데… 이 부분이 중요
xml에서 deploy할 nexus주소를 적어준다

2. nexus셋팅

Repo를 하나 생성

deploy계정 생성

3. settings.xml 셋팅

기본위치 ~/.m2/settings.xml
사용자는 pom.xml에 기록한 nexus 아이디 패스워드 deploy 권한을 가지고 있는 계정
id는 사용자 아이디가 아닌 repository id

4. maven testcase 오류나는 경우

5. 기타 배포오류

404 주소를 잘못친듯

502 주소를 잘못친듯

503 권한 안줘서 user_role, privileges 설정에서 권한을 줘야한다. 배포는 edit 권한

Java Testing Framework Junit 이것만 알면 끝

일단 이거 참고
이클립스에 이 부분 기본 설정 후
http://memo.polypia.net/archives/557

 

스프링 설정

 

BigData 관련 Software, Solution…

상용 솔루션..StramBase.. 제대로 써본건 이것밖에 없나… 성능은 놀랍도록 뛰어났는데.. 쓰기도 편하고