Вернуть мой исходный код Java из файла .war? - PullRequest
4 голосов
/ 05 октября 2011

Я недавно потерял папку проекта NetBeans проекта, над которым я работал в то время. Однако где-то на сервере здесь, в компании, в которой я работаю, я развернул его. Так что это означает, что я (надеюсь) все еще могу получить файл .war.

Можно ли затем "распаковать" этот .war и вернуть мои исходные файлы .java, над которыми я работал в то время?

Заранее спасибо!

Ответы [ 5 ]

9 голосов
/ 05 октября 2011

Если исходные файлы .java отсутствуют в WAR (и их не должно быть), вам придется выполнить дополнительный шаг по декомпиляции их с помощью такого инструмента, как JAD.

Это хорошоНастало время настроить систему контроля версий, такую ​​как Subversion, Git или Mercurial, чтобы с вами это никогда не повторилось.Привыкайте использовать управление исходным кодом, даже если вы являетесь единственным разработчиком, работающим над проектом.

2 голосов
/ 05 октября 2011

Краткий ответ: Нет.

Немного более длинный ответ: ищите декомпиляторы Java , но они не дадут вам папку вашего проекта Netbeans.

2 голосов
/ 05 октября 2011

Вы получаете * .class файлы из вашей войны (переименуйте войну в zip и используйте инструмент декомпрессии).

Тогда вы можете декомпилировать их.

См. Этот связанный вопрос для некоторых предложений .

0 голосов
/ 25 сентября 2014

Можно распаковать файл war, где вы получите только файлы классов и другие файлы свойств. Затем используйте Java-декомпилятор, чтобы увидеть исходный код, и он работает очень хорошо (не рекомендуется).

Кроме того, вы можете изменять файлы свойств без JD, и все, что вам нужно сделать, это просто изменить файлы свойств и снова перевести zip в файл war. Это будет работать.

Но я бы порекомендовал вам поддерживать исходный код в SVN или TFS или несколько копий с номерами версий в локальной системе в любой момент времени.

0 голосов
/ 30 января 2012

Предположим, что если вы экспортировали исходные файлы во время создания войны, вы можете получить их. Иначе, JAD - ваша единственная надежда, которая тоже не может полностью на нее полагаться.

...