데스크톱 스윙 앱을 개발했으며 자동 업데이트 기능을 제공하는 가장 좋은 방법에 대해 생각하고 있습니다. JavaWebStart가 제공하는 정보를 알고 있지만 로컬 파일을 읽어야 jar 파일에 서명해야하므로 내 필요에 맞지 않는다고 생각합니다. 게다가 JWS는 서버에 배포하기 위해 추가 작업이 필요하지만 이제는 .jar 만 업로드하면됩니다.자바 스윙 데스크톱 앱의 자동 업데이트 기능
나는이 방법에 대해 생각을 해 봤는데 : (업데이트가 필요하지)가되는 SplashScreen를로드하는 Config.xml의 현재 버전을 확인하고 서버 설정과 비교
첫 번째 JAR를. xml.
서버 버전이 새로운 경우 사용자에게 업데이트 할 것인지 물어보십시오. 이 경우 새 "main.jar", 새 "config.xml"및 새 시작/아이콘을 다운로드하고 MD5SUM을 확인한 다음 이전 파일을 새 파일로 교체하십시오.
"main.jar"을 시작하십시오.
나는 바퀴를 재발 명하려는 경우 또는 위에 적어 놓은 것보다 더 좋은 패턴이있는 경우 잘 모르겠다.
당신은 바퀴 달린 당신이 이미 알고 있기 때문에, 당신은 자바 WebStart 언급했기 때문에. 서버에서의 배치는 미미하며 파일 몇 개를 게시하면되므로 서버에 활성 구성 요소가 필요하지 않습니다. –
https에서 해시를 확인하는 대신 인증서를 사용하는 것이 좋습니다. 해시 기법을 사용하면 https 서버가 손상되면 모든 자동 업데이트 클라이언트가 손상 될 수 있습니다./또한 다운 그레이드 공격을 피하기 위해 최신 버전을 설치하고 있는지 확인하십시오./WebStart는 파일 브라우저의 제어/사용자 정의가 제한되어 있지만 파일 사용에 제한된 인터페이스를 제공합니다. –
나는 그렇게 단순하지 않다고 생각한다. 나는 그것을 전혀 제어하지 않는 서버에 배포해야합니다. 나는 예를 들어 mimetypes를 바꿀 수 없다. 게다가 말했듯이, 로컬 파일에 액세스해야 서명 할 필요가 있습니다. – ktulur