2009-10-15 4 views

답변

0

나는 그것이 무엇을하고 있었는지 볼 보스 4.2에서 Version 클래스를 디 컴파일, 그 결과는 최종 결과가 Properties 개체로 자원 /org/jboss/version.properties를로드하는 것이었다 보스 5로 개조 할 수 있는지 선택 그런 다음 version.majorversion.minor 속성을 읽습니다. 왜 그들이 단지 Version 클래스를 그곳에 두지 않을 수 있었는지 날 때린다.

4

버전 번호를 얻는 방법에는 여러 가지가 있습니다. 공식적인 방법은 자신의 Website에 설명 된대로 JMX를 사용하는 것입니다.하지만이 경우 앱 서버에 접근 할 수 있어야합니다. 요청할 MBean은 입니다. jboss.system : type = server. 당신은이에 대한 떨림 가량이 스크립트 외부 쉘을 사용할 수 있습니다

%JBOSS_HOME%\bin>twiddle get jboss.system:type=Server VersionNumber 
VersionNumber=5.1.0.GA 

을 그리고 여기에 자신의 웹 사이트에서 코드 스 니펫 (원격 JMX)입니다 :

MBeanServerConnection server = (MBeanServerConnection)new InitialContext().lookup("jmx/rmi/RMIAdaptor"); 
ObjectName on = new ObjectName("jboss.system:type=Server"); 
Object ver = server.getAttribute(on, "VersionNumber"); 

다른 변종의 패키지 정보를 사용 로드 된 클래스 org.jboss.Main과 같은 클래스를로드하면 JAR file spec에 지정된 구현 버전을 얻을 수 있습니다.

org.jboss.Main m=new Main(); //at least a jboss class loaded. not needed in the container 
    Package p=Package.getPackage("org.jboss"); 
    System.out.println("Major=" + p.getImplementationVersion().split("\\.")[0]); 
    System.out.println("Minor=" + p.getImplementationVersion().split("\\.")[1]); 

UPDATE : 패키지 검사로 추가 버전 번호 다음은 예이다. 결국

+0

내가 원했던 것과 매우 비슷하지만 기존의 이유로 결합 된 문자열보다는 별개의 메이저 및 마이너 버전 번호가 필요합니다. – skaffman

관련 문제