Где достать говно мамонта? (о версиях джава)
Компилятор отдельно не продается, только в составе JDK
Компилятор отдельно не продается, только в составе JDK
http://www.oracle.com/technetwork/java/javasebusiness/downlo...
ага - тут только 1.4.2.17......
а мне нужен именно Created-By: 1.4.2_17-b06 (Sun Microsystems Inc.)
я вот и не пойму, что это за -b06
что-то хрень какая-то....
я разобрал jar, который был собран на 1.4.2_17-b06
а собрать обратно не получается.
во-первых, у меня, конечно руки из жопы
во-вторых, я не джавист (но, ничего сложного по коду в сорцах нет)
в-третьих, компиляторы, которые младше, дают одни ошибки. А компиляторы, которые старше - совершенно другие.
(это даже в том случае, что я ни коем образом не меняю джава-код)
вот я и подумал... что это говнищще - промежуточное звено, где что-то накостыляли перед выходом нормального релиза, где есть фичи от прошлых версий и фичи от будущих.
а найти именно его я не могу.
а++++++++++++++++++++++++++ мне нужен именно Created-By: 1.4.2_17-b06 (Sun Microsystems Inc.)это он и есть скорее всего, b06 можно игнорировать
это он и есть скорее всего, b06 можно игнорироватьвот им и собирал в первую очередь.
общий смысл ошибок:
Connection.java:7: '.' expected
import ab;
и точку он хочет поставить вмето точки с запятой
это он и есть скорее всегои еще забыл добавить, что с джавой совсем поверхностное знакомство... - и как в ней правильно компилить - я хз. На поверхности, вроде - все просто.
если ты имеешь с ней хоть какой-нить опыт общения, то я буду дико признателен, если ты соберешь этот ебучий архив. Могу прислать его исходник, его декомпилированный вариант (один java-файл и class-файлы сопутствующие ему и соотвествующий JDK.
я - джавист тоже никакой, но судя по сообщению, он не находит пэкэдж ab
-classpath вроде указан...
-classpath вроде указан...ага... и, блин, по-ходу, неправильно...
вот тут рассказывают про еблю с classpath:
http://www.ibm.com/developerworks/ru/library/j-classpath-win...
по-ходу, моя проблема...
вот надо ж было такие камни понаоставлять....
я разобрал jar, который был собран на 1.4.2_17-b06Декомпилировал каким нибудь jad или fernflower?
Так никто не обещал, что результат работы декомпилятора вообще можно скомпилировать обратно.
Декомпилировал каким нибудь jad или fernflower?декомпилировал DJ Java Decompiler, но не в этом суть, наверное.
Так никто не обещал, что результат работы декомпилятора вообще можно скомпилировать обратно.
Мне же вон - выше подсказали, что ругань на точку с запятой в строке
import имя_класса;указывает на то, что компилятор не видит этого класса.
Более того, какой бы путь я не указывал в -classpath, ругань остается той же. Пробовал даже указывать путь, которого нет - результат тот же.
То есть, такое ощущение, что реально в джаве имеет значение организация папок и архивов. Но как это все устроено - я не копенгаген....
написал болванки классов:
файл a.java:
public class a
{
}
файл b.java
import a;
public class b
{
}
Собрал класс a.class (тут было все нормально)
после этого удалил java-исходник, оставив только a.class
далее попробовал собрать класс b - ругается на все ту же строчку с импортом класса а
после этого, попробовал указать в аргументах компилятора -classpath на директорию (в которой лежит класс a) - снова хрен
Подскажите, плиз, что я не так в командной строке фигачу:
в этой директории C:\hellojava лежат в даный момент два файла: a.class и b.java
import a;
это запрещено спецификацией языка, поэтому у тебя не работает. Классы, которые ты пытаешься подправить видимо были обфускатором обработаны.
это запрещено спецификацией языкаэ.... а как тогда?
то есть вот тупо как собрать два пустых файла, которые лежат в одной папке и один из них класс?
и тот, который не класс, вызывает импорт того, который класс?
Классы, которые ты пытаешься подправить видимо были обфускатором обработаны.возможно. Даже и не спорю. Почитал про обфускаторы - они, вроде, как говорит гугл, запутывают логику выполнения программы. Но, между тем, я же вижу именно тот код, который мне надо было увидеть после декомпиляции. Даже если в исходном архиве нафигачили сотню не делающих ничего (или просто гоняющих по лабиринту переменные) классов, они же остались там не измененными. И я ничего не меняю, собственно. Вот, в общем, вопрос.
Совсем убери импорты. Классы из одного пекеджа не обязаны импортить друг друга для использования.
Совсем убери импорты. Классы из одного пекеджа не обязаны импортить друг друга для использования.да, так получается...
хм...
поставим вопрос по-другому, в файле b.java есть строчка import a; и ее оттуда никак не выбросить.
что нужно изменить, чтобы все скомпилировалось?
может, нужна еще какая-то строка или строчки в файлах a.java b.java? или может есть какие-то еще вещи о которых я, естественно, не знаю? может, ключики при компиляции или что-то еще....
в общем, как сделать, чтобы все собралось, если, как минимум в одном файле из двух есть import a;
при том import a; - он написан не как import d.c.b.e.r.t.a;
а вот именно import a; и ничего лишнего.
Ты сурсы выложить куда-нибудь можешь? Или тебе самому надо разобраться?
убрать эту строку, нет?
Ты сурсы выложить куда-нибудь можешь? Или тебе самому надо разобраться?сорцы объемные... никого запаривать не хочется, да и один вот этот вот файлик, он, все-таки, не честный, а декомпилированный. Серж, молодчина - взялся посмотреть полный объем работ.
Но, почему я эту тему и назвал говно-мамонта, так это потому, что на предыдущих версиях JDK ругани на строчку "import a;" нет
а ничего в задаче не изменилось - в папке лежат два файла: a.class и b.java
(в файле b.java есть строчка import a;)
Компилировал на jdk1.3.1_28 - все нормально, все компилится.
Компилировал на jdk1.3.1_28 - все нормально, все компилится.Короче суть граблей в том, что класс в пакете пытается импортировать классы из default package. Это делать нельзя начиная с 1.4:
How to access java-classes in the default-package?
Почему тебе нужен 1.4, я так и не понял. Скорее всего такой класс соберется только 1.3.
Оставить комментарий
markyzz
Так получилось, что нужен джава-компилятор именно вот такой: 1.4.2_17-b06 (javac.exe имеется ввиду)На сайте оракла черт ногу сломает. Если у кого скилл поиска в инете (или в oracle.com) круче, то ткните, плиз, меня рожей в ссылку для скачивания этого раритетного говна. (сам не джавист, поэтому, если кто-то объяснит, почему именно эту версию не могу найти, то тоже - )Заранее спасибо!
ЗЫ ну, вот тут что-то пишут, только самого компила не нашел.... http://setupxlims.blogspot.ru/2009/02/javatm-2-build-14217-b...