Я перефразирую этот вопрос, чтобы сделать его более простым и легким для понимания, надеюсь.CPD/PMD между проектами?
У меня есть примерно 30 компонентов (внутренних), которые входят в одно веб-приложение. Это означает 30 различных проектов со своим отдельным POM. Я использую наследование довольно много в моих POM, поэтому одна из вещей, которые они наследуют, - это конфигурация PMD/CPD для предотвращения дублирования кода.
Несмотря на то, что у меня работает CPD/PMD, он обнаруживает только дублирующий код в рамках одного и того же проекта. Я бы хотел, чтобы он обнаруживал в любом из моих проектов, если в проектах, которые можно реорганизовать, есть код. Более того, я искал что-то, что могло бы (используя ту же концепцию/шаблон) проверить, что никакой код не используется совместно с другими зависимостями с открытым исходным кодом.
Это будет CPD/PMD, за исключением того, что он будет работать на исходных баночках. Эта задача будет потреблять большой объем памяти, если вы сканируете все проекты и их зависимости для дублирования. Сейчас я просто хотел бы применить это к внутренним проектам. Если это сработает, тогда было бы относительно просто/просто сделать это.
Walter
Вы можете уточнить вопрос? – TofuBeer
Вы хотите детектор двойного кода. Конечно, PMD - ваш зверь, и все готово. Похоже, вы хотите перепроектировать файл WAR, чтобы сравнить его исходный код (как вы собираетесь перевести байт-код, похожий на исходный источник, это звучит излишне, недостижимо и просто непривычно) с другим исходным кодом или просто сравнить его байтовый код с вашим байт-кодом. Почему бы просто не сравнить исходный код, который у вас есть? – martinr
Кроме того, в некоторых случаях могут возникнуть юридические проблемы с попыткой обратного преобразования кода. – martinr