'분류 전체보기'에 해당되는 글 223건

  1. 2011.11.01 Javascript 문자열 바이트수 가져오기(byteLength) 1
  2. 2011.10.27 크롬 최신버전 15.0.874.106 for Chrome Stable 다운로드 직링크(11.10.27)
  3. 2011.10.27 Windows 커맨드창 안띄우고 스크립트 실행하기
  4. 2011.10.27 크롬 최신버전 15.0.874.102 for Chrome Stable 다운로드 직링크(11.10.27)
  5. 2011.10.26 maven 으로 executable jar 맨들기(maven-jar-plugin, maven-dependency-plugin 이용) 2

Javascript 문자열 바이트수 가져오기(byteLength)


문자열의 바이트 수를 리턴해 주는 함수를 String 의 prototype 으로 추가하면 간편하게 쓸 수 있다.
/**
 * 문자열의 바이트수 리턴
 * @returns {Number}
 */
String.prototype.byteLength = function() {
	var l= 0;
	
	for(var idx=0; idx < this.length; idx++) {
		var c = escape(this.charAt(idx));
		
		if( c.length==1 ) l ++;
		else if( c.indexOf("%u")!=-1 ) l += 2;
		else if( c.indexOf("%")!=-1 ) l += c.length/3;
	}
	
	return l;
};

"abc".byteLength();        // 3
"가나다".byteLength();      // 6
"가나다abc".byteLength();   // 9




 

크롬 최신버전 15.0.874.106 for Chrome Stable 다운로드 직링크(11.10.27)

Windows 커맨드창 안띄우고 스크립트 실행하기



Java 로 GUI 후로그램을 맹근후 필요에 따라 고걸 쉽게 실행시키기 위해서

javaw -jar xxxx.jar 를 실행시키는 간단한 스크립트.bat 파일을 맹글곤 한다.

그런데 문제는 그 스크립트 파일을 뽓 더블클릭하면 시커먼 커맨드창이 뜬 다음 나의 후로그램이 실행되는 바람에, 그 시꺼먼 커맨드 창이 딱 보기가 싫어진다.




고걸 방지하기 위해서 bat 파일을 맨드는 대신 vbs (비쥬얼베이직스크립트) 파일을 맨들어서 내용을 다음과 같이 해주면 깔쌈하게 GUI 후로그램만 깔꼼하게 실행된다.

※ vbs 파일도 따블클릭하면 bat 파일처럼 똑같이 실행된다.

run.vbs
Set WshShell = WScript.CreateObject("WScript.Shell")
wshShell.run "javaw -jar xxxxx.jar"
Set WshShell = nothing

요렇게 run.vbs 파일을 작성한후 뽓뽓 따블클릭을 하면 원하던 바가 이루어진다.


※ jar 파일은 executable jar 로 맨들어야 된다.





크롬 최신버전 15.0.874.102 for Chrome Stable 다운로드 직링크(11.10.27)

maven 으로 executable jar 맨들기(maven-jar-plugin, maven-dependency-plugin 이용)

일반 웹어플리케이션이 아닌 그냥 보통 일반 프로그램인 경우 maven packaging  타입을 war 가 아니라 jar 로 pom.xml 파일을 설정한다.

요래 설정한후 디펜던시들을 쪽쪽 추가하면서 후로그램을 맨들다 후로그램이 다 완성되었다면~~.

내가만든 후로그램과(Executable jar), 내 후로그램에서 사용한 라이브러리들을(디펜던시) 묶어서 패키징을 해야 한다.




요런 패키징을 위해서 프로젝트 pom.xml 의 build 엘리먼트를 요래 설정해 주면된다. 
설명은 주석으로 대신함.
<properties>
	<deploy.target.dir>c:/myproject</deploy.target.dir>
	<lib.dir>lib</lib.dir>
	<jar.name>myprogram</jar.name>
</properties>
	
<build>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-jar-plugin</artifactId>
			<version>2.3.2</version>
			
			<configuration>
				<finalName>${jar.name}</finalName>
				<!-- jar 파일이 생성될 폴더 -->
				<outputDirectory>${deploy.target.dir}</outputDirectory>
				<archive>
					<manifest>
						<!-- public static void main() 함수가 있는 클래스 지정 -->
						<mainClass>oasyss.Main</mainClass>
						
						<!-- jar 파일 META-INF/MANIFEST.MF 에 클래스패스 정보 추가 -->
						<addClasspath>true</addClasspath>
						
						<!-- 
							클래스패스에 추가시 prefix 설정 
							ex) log4j-1.2.16.jar -> lib/log4j-1.2.16.jar 로 추가됨 
						-->
						<classpathPrefix>${lib.dir}/</classpathPrefix>
					</manifest>
				</archive>
			</configuration>
		</plugin>
		
		<!-- package 실행할때 프로젝트 디펜던시들을 특정폴더로 복사해주게 설정  -->
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-dependency-plugin</artifactId>
			<version>2.3</version>
			<executions>
				<execution>
					<id>copy-dependencies</id>
					<phase>package</phase>
					<goals>
						<goal>copy-dependencies</goal>
					</goals>
				</execution>
			</executions>
			<configuration>
				<outputDirectory>${deploy.target.dir}/${lib.dir}</outputDirectory>
				<overWriteIfNewer>true</overWriteIfNewer>
			</configuration>
		</plugin>
	</plugins>
</build>




요래 해준다음 mvn clean package 를 뽓 실행시켜주면, deploy.target.dir 로 설정된 c:\myproject 폴더에 myprogram.jar 파일이 생성되고 c:\myproject\lib 폴더에 디펜던시들이 쪽 복사가 된다.



※ 요 jar 파일을 실행할려면

일반 자바후로그램인 경우 java -jar myprogram.jar  로
Swing이나 SWT 같은 GUI 후로그램인 경우 javaw -jar myprogram.jar 로 실행하면 된다.








prev 1 ··· 26 27 28 29 30 31 32 ··· 45 next