파일을 통해 프로젝트를 JBoss에 배포 한 후 프로젝트에서 파일의 파일 위치를 얻으려고 .war
합니다. 이 프로그램은 SOAP를 사용하여 몇 가지 웹 서비스를 제공합니다.
다음은 Eclipse의 디렉토리 구조입니다.
ProjectName
|-Java Resources
|-src
| +package.one
| +package.two
| ...
|-docs
| myFile.xsd
| otherFile.xml
|-WebContent
|+META-INF
|-WEB-INF
| +lib
| web.xml
|index.jsp
일반적으로 내부에 Java 클래스가 있으면 package.one
파일 경로 myFile.xsd
는 ../ProjectName/docs/myFile.xsd
. main
메서드를 코딩하면 제대로 작동합니다 .
그러나이 프로젝트를 JBoss에 배포하면 파일을 찾을 수 없습니다. JBoss가 bin
폴더 내부를 찾기 시작 합니다. 실제 프로젝트는에 배포됩니다 {wildflyHome}/standalone/deployments/ProjectName.war
. 그래서 왜 그것이 bin
폴더 내부를보고 있는지 잘 모르겠습니다 .
액세스하려고하면이 오류가 발생합니다 myFile.xsd
.
08:36:47,908 ERROR [stderr] (default task-3) org.xml.sax.SAXParseException; schema_reference.4: Failed to read schema document 'file:/C:/Users/Flow/Documents/Tools/wildfly-10.0.0.Final/bin/../ProjectName/docs/myFile.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
위에서 언급했듯이 서버에 배포하지 않으면 완벽하게 작동하기 때문에 옵션 2와 3을 루팅했습니다.
파일이 서버에 있으면 어떻게 액세스합니까?
그래서 오랜 시간 노력한 끝에 마침내 포기하고 파일을 bin
폴더 에 넣었습니다 .
폴더에 폴더를 만들었습니다 bin
. 거기에서 파일 경로는 folder/file.ext
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다