Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите скомпилировать .java в .class / 25 сообщений из 30, страница 1 из 2
06.11.2014, 00:32
    #38796831
winxp3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
Имелся некий исходный jar файл,требовалось изменить кое что в работе этого файла.Планировалось открыть в winrar этот jar файл,декомпилировать нужный класс,отредактировать,скомпилировать и обратно вставить с заменой.Гугл сказал что это был бы вполне рабочий вариант.Проблемы возникли на стадии компилирования.Этот класс взаимодействует со всеми остальными классами и просто так компилироваться не хочет.Знания в java у меня нулевые,поэтому прошу,скомпилируйте мне,добрые люди, этот класс,или сразу jar файл.Денежное вознаграждение могу гарантировать.Прежде чем задавать вопросы,попытайтесь сами скомпилировать,ибо я перепробовал уже кучу команд.
...
Рейтинг: 0 / 0
06.11.2014, 04:37
    #38796869
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
При нулевых знаниях не надо заниматься компиляцией декомпилированного.
Или учитесь или идите в топик "Работа".
...
Рейтинг: 0 / 0
06.11.2014, 04:46
    #38796870
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
В работу можете не ходить - у вас архив неполный и скомпилировать его невозможно. В принципе.
...
Рейтинг: 0 / 0
06.11.2014, 11:56
    #38797119
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
В силу своей специфики гугл может дать положительный ответ на любой вопрос вообще.
Просто учитывая огромные базы копипасты которые он индексирует. Но я надеюсь
автор понимает что поставленная задача - суть "авантюра" которая может как сработать
так и нет.

P.S. И прошу модераторов перенести это в соответствующий раздел.

P.S. Автору желаю успехов в изучении Java разработки. (Не в декомпилляциях и взломах).
...
Рейтинг: 0 / 0
06.11.2014, 13:59
    #38797288
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
mayton...Но я надеюсь автор понимает что поставленная задача - суть "авантюра" которая может как сработать так и нет.
А почему "авантюря"? Разумеется, при условие наличия знаний и прямых рук

Не смотрел, что именно там пытается скомпилировать автор. Но в жизни бывает полно ситуаций, когда приложение и права на него есть, а исходного кода по ряду причин нет и/или утеряны.
...
Рейтинг: 0 / 0
06.11.2014, 18:05
    #38797620
winxp3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
Программа имеет открытый исходный код.Но этот jar файл был изначально модифицирован с целью выгрузки стандартных библиотек из программы для облегчения памяти и обеспечения совместимости среды разработки с другими библиотеками.
Выкладываю файл требующий вмешательства. В нем нужно изменить класс APConfig.class.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
package processing.app.ardupilot;

import processing.app.*;
import java.util.*;

public class APConfig
{
    public HashMap<String, APHal> halBoardsTable;
    public String halName;
    
    public APConfig() {
        super();
        this.createBoardTable();
        final String prefHalBoard = Preferences.get("ardupilot.hal");
        if (prefHalBoard == null) {
            this.setBoard("none");
        }
        else if (!this.halBoardsTable.containsKey(prefHalBoard)) {
            this.setBoard("none");
        }
        else {
            this.setBoard(prefHalBoard);
        }
    }
    
    private void createBoardTable() {
        (this.halBoardsTable = new HashMap<String, APHal>()).put("none", new APHal(null, "None", null));
        this.halBoardsTable.put("apm1", new APHal("HAL_BOARD_APM1", "ArduPilot Mega 1", "mega2560"));
        this.halBoardsTable.put("apm2", new APHal("HAL_BOARD_APM2", "ArduPilot Mega 2.x", "mega2560"));
    }
    
    public APHal getBoard() {
        return this.halBoardsTable.get(this.halName);
    }
    
    public void setBoard(final String name) {
        if (this.halBoardsTable.containsKey(name)) {
            System.out.println("Updated ArduPilot HAL board. If you have already built this sketch, you will need to restart the Arduino IDE in order to build correctly with the new settings.");
            final APHal hal = this.halBoardsTable.get(name);
            Preferences.set("ardupilot.hal", this.halName = name);
            if (hal.boardName != null) {
                Preferences.set("board", hal.boardName);
            }
        }
    }
    
    public Boolean excludeCore() {
        if (this.getBoard().configFlag != null) {
            return true;     // а нужно чтобы в любом случае возвращал false; изменить и откомпилировать нужно
        }
        return false;
    }
    
    public List<String> getFlags() {
        final APHal board = this.getBoard();
        final ArrayList flags = new ArrayList();
        if (board.configFlag != null) {
            flags.add("-mcall-prologues");
            flags.add("-DCONFIG_HAL_BOARD=" + board.configFlag);
            flags.add("-DEXCLUDECORE");
        }
        return (List<String>)flags;
    }
}
...
Рейтинг: 0 / 0
06.11.2014, 18:08
    #38797624
winxp3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
...
Рейтинг: 0 / 0
06.11.2014, 18:12
    #38797631
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
winxp3, плутишка ты эдакой.

Делай

Код: java
1.
$ javac APConfig.java



и собирай в архив.
...
Рейтинг: 0 / 0
06.11.2014, 20:54
    #38797774
winxp3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
mayton,

:D да я пробовал.я и не такое пробовал,но тут не все так просто!этот класс включает в себя другой класс,который в свою очередь еще 80 классов как минимум.По отдельности оно не компилится.Попробуй,откомпиль,а я тебя денежкой отблагодарю.
...
Рейтинг: 0 / 0
06.11.2014, 20:58
    #38797778
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
Вам русским по белому сказано - огрызок из вашего архива не может быть скомпилирован. Даже теоретически.
...
Рейтинг: 0 / 0
06.11.2014, 21:02
    #38797779
no56892
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
Ну кстати можно откомпилировать если каким-то образом отключить валидацию в компиляторе. 2й вариант - править прямо в байткоде (ну там немного и править кстати). А сколько денег есть?
...
Рейтинг: 0 / 0
06.11.2014, 21:04
    #38797781
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
Можно откомпилировать один класс. Но
1) Его надо положить в каталог соответствии с package
2) При компиляции в classpath надо включить оригинальный jar, чтобы остальные классы не перекомпилировать.
...
Рейтинг: 0 / 0
06.11.2014, 21:10
    #38797784
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
Blazkowicz1) Его надо положить в каталог соответствии с packageНеобязательно.
javac работает с файлами и всё, чего он требует - совпадения имени файл с именем публичного класса, если таковой существует.
Причём под виндой ему даже регистр букв не важен
...
Рейтинг: 0 / 0
06.11.2014, 21:31
    #38797798
winxp3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
BlazkowiczМожно откомпилировать один класс. Но
1) Его надо положить в каталог соответствии с package
2) При компиляции в classpath надо включить оригинальный jar, чтобы остальные классы не перекомпилировать.

Попробовал разархивировать весь jar файл,оттуда удалил APConfig.class и вставил туда APConfig.java.Попробовал откомпилировать след. командой
Код: powershell
1.
javac -cp ./test/ ./test/processing/app/ardupilot/APConfig.java -d out



В ответ вместо привычной сотни ошибок или менее привычных 3 ошибок,получил следующее(скриншот ниже).Почему сейчас отказывается компилироваться?в папке тест все то,что содержалось в pde.jar..Могу предоставить хоть всю программу,хоть какую ее часть.что требуется?
...
Рейтинг: 0 / 0
06.11.2014, 21:37
    #38797801
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
То, что после слова note: написано совсем не понятно? )))
...
Рейтинг: 0 / 0
06.11.2014, 21:38
    #38797803
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
Recompile with -Xlint:unchecked

правда, лично я, на такое предупреждение ни разу не нарывался.
...
Рейтинг: 0 / 0
06.11.2014, 21:43
    #38797805
winxp3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
Leonid Kudryavtsev,

Понятно конечно,)но после рекомпиляции с таким параметром получилось следующее.
...
Рейтинг: 0 / 0
06.11.2014, 21:50
    #38797809
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
winxp3Попробовал разархивировать весь jar файл
Нахрена?
...
Рейтинг: 0 / 0
06.11.2014, 21:51
    #38797810
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
winxp3Понятно конечно,)но после рекомпиляции с таким параметром получилось следующее.
Там только warning-и. .class появился же?
...
Рейтинг: 0 / 0
06.11.2014, 22:05
    #38797822
winxp3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
Blazkowicz,

Действительно,я был невнимателен.Класс скомпилировался!Всем огромное спасибо за отзывчивость,быстрые ответы и помощь! И последний вопрос,если этот скомпилированный класс вставлю с заменой в исходный jar файл,он сохранит свою работоспособность?
...
Рейтинг: 0 / 0
06.11.2014, 22:14
    #38797830
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
Если архив не подписан - да, если вы не сломали функционал
...
Рейтинг: 0 / 0
06.11.2014, 22:23
    #38797836
winxp3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
Basil A. Sidorov,

Функционал не сломан,файл не запускается.Делаю вывод он был подписан..Подписать по новой можно собственным сертификатом?или же обязательно нужен старый сертификат?
Этот jar файл -часть среды разработки arduino.
...
Рейтинг: 0 / 0
06.11.2014, 22:34
    #38797843
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
winxp3Функционал не сломан,файл не запускается.Делаю вывод он был подписан."Предположение - мать всех провалов".
"И маленькие причины причины приводят к большим последствиям" (ц) Козьма Прутков.
Это всё о вашем выводе.

P.S. Всё, что относится к подписям задекларировано в META-INF/MANIFEST.MF, так что - гадать не надо.
...
Рейтинг: 0 / 0
06.11.2014, 22:38
    #38797846
winxp3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
Basil A. Sidorov,
Код: javascript
1.
2.
3.
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.4
Created-By: 1.7.0_10-b18 (Oracle Corporation)



Подписи нет?
...
Рейтинг: 0 / 0
06.11.2014, 22:48
    #38797850
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите скомпилировать .java в .class
"Мы пойдём простым логическим ходом":
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
    public Boolean excludeCore() {
        if (this.getBoard().configFlag != null) {
            return true;     // а нужно чтобы в любом случае возвращал false; изменить и откомпилировать нужно
        }
        return false;
    }
    
    public List<String> getFlags() {
        final APHal board = this.getBoard();
        final ArrayList flags = new ArrayList();
        if (board.configFlag != null) {
            flags.add("-mcall-prologues");
            flags.add("-DCONFIG_HAL_BOARD=" + board.configFlag);
            flags.add("-DEXCLUDECORE");
        }
        return (List<String>)flags;
    }

И вы продолжаете утверждать, что ничего не сломали???
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Помогите скомпилировать .java в .class / 25 сообщений из 30, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]