2010-07-14 4 views
13

httpd.conf와 같은 전통적인 유닉스 구성 파일에서 작동하는 아주 좋은 Perl 라이브러리 (예 : Apache::Admin::Config)가 있습니다. 누구든지 비슷한 작업을 수행 할 수있는 Java 라이브러리가 있는지 알고 있습니까?http.conf와 같은 unix 구성 파일에서 작동 할 Java 라이브러리가 있습니까

Java 바인딩을 사용하는 Augeas이라는 c 라이브러리가 있다는 것을 알고 있습니다. 누구도 전에 그것을 사용 했습니까?

감사합니다.

+2

적어도 (기본적으로) Jetty는 기본적으로 Apache HTTPD 구성 스타일 인 .htaccess 파일을 읽을 수 있음을 알고 있습니다. 어쩌면 당신은 그들의 구현을 재사용 할 수 있습니다. – sfussenegger

답변

-2

Commons Configuration은 구성 파일을 조작합니다.

심지어 조작 된 속성을 새 파일에 저장하는 옵션을 제공합니다.

PropertiesConfiguration config = new PropertiesConfiguration("usergui.properties"); 
config.setProperty("colors.background", "#000000); 
config.save("usergui.backup.properties); 

심지어

http://commons.apache.org/configuration/userguide/howto_filebased.html#File-based_Configurations

링크

다음을 참조하십시오, 아파치 개미는 자신의 PropertyHelper 구현을 사용하여 기존 구성 파일을 조작 당신을 도울 수 있습니다.

http://ant.apache.org/manual/properties.html#propertyHelper

아파치 구성이 빈 공장을 사용하여 확장 성을 제공 할 의견에 응답 한 후 편집, 아파치 설정 파일 httpd.conf를 도메인 클래스를 직접 만들어야 만들려면 그것은 작동합니다.

java에서 Apache 모듈을 정의하면 Netloony 소스 인 service/apache/modules에서이를 확인할 수 있습니다. 값이 JTable의에 제시되어있다 netloony 설정 파일에서

http://netloony.sourceforge.net/userguide/intro.html

, 당신은 파일을 유지하기 위해 모든 구성 프레임 워크를 사용해야합니다.

희망이 있으면 도움이 될 것입니다, 나는 아파치 conf 파일을 읽을 수있는 자바 상자에 아무것도 없다는 것을 이해합니다. 나는 당신이 어디서부터 시작할 수있는 포인터를 주려고 노력했다.

+0

정보 주셔서 감사합니다. 하지만 Apache Commons Configuration은 제가 찾고있는 것이 아닙니다. 이 라이브러리는 다음과 같은 아파치 http 설정 파일을 조작 할 수 없습니다 :

 ServerTokens OS ServerRoot "/etc/httpd" PidFile run/httpd.pid Timeout 300 MaxKeepAliveRequests 100 KeepAliveTimeout 15  StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000   StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75  ... 

0

그 목적을위한 기존의 라이브러리가없는 것 같다. 그러나 구성 파일을 편집하기 위해 만들어진 라이브러리 Augeas을 사용할 수 있습니다. 그러나 당신이 찾고있는 솔루션과는 달리, Augeas에게 미리 설정 파일을 해석하는 방법을 알려줘야하며, 이는 가치있는 것보다 더 많은 시간이 걸릴 수 있습니다.

6

Apache, Squid, smtpd, ldap, PAM 등의 많은 * nix 프로젝트에서 많은 설정 파일을 가지고 (프로그래밍 방식으로 프로젝트에 대한) 작업을했습니다. 일반적인 형식이 아니라는 것을 깨닫게되었습니다. (문법) 대신 각각의 프로젝트는 자신의 ad-hoc 형식을 정의하고 자체 사용자 정의 파서를 구현합니다. 공통된 사양이 없습니다.

따라서 * nix의 aproach는 config files을 "파서 라이브러리 사용"이 아니라 "사용자 파서 작성"으로 만듭니다.

그러나 어떤 종류의 표준을 고수하려고하는 프로젝트가 있습니다. 가장 일반적인 amog theese는 .ini file format (OS/2 및 windows에서 유래) 또는 GConf file format입니다.이 경우 쉽게 available 파서를 찾을 수 있습니다.

Apache (많은 패치로 작성된 것처럼 a-patch-e를 읽습니다.)는 자유 형식 클래스입니다. 그것은 var value 형식으로 시작하여, 많은 "패치"후에 config vars의 범위와 컨텍스트를 지정하기 위해 warty-xmlish 문법을 추가했습니다.

  • 구성 파일의 일부분을 조정하면 아마도 가장 좋은 방법은 원하는 구성 변경을 찾는 파일을 스캔 한 다음 로컬로 파일을 사용하는 것입니다.
  • 그러나 전체 파일을 구성해야하는 경우 C 기반의 Java 파서를 만드는 것이 좋습니다.
0

Augeas는 실제로 자바 바인딩을 가지고 있으며, Httpd 렌즈도 가지고있어서 확실히 받아 들일 만 한 해결책입니다.

1

다음은 Apache Server 구성을 구문 분석하는 데 사용할 수있는 Java 라이브러리입니다. ApacheConfParser

+0

apache http.conf 구문 분석에만 해당 되는가? 예를 들어 squid conf 파일을 파싱하기 위해 라이브러리를 사용하려면 어떻게해야합니까? –

관련 문제