Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Проблема в компиляции


Автор: trio 8.6.2007, 18:00
Суть в том, что нужно декомпилировать файл, поменять в нем несколько параметров и снова закомпилировать.
При компиляции ругается ...
Код файла для компиляции - Server.java
Код

// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   Server.java

package org.xdls.sys;

import java.math.BigInteger;
import java.util.Locale;

// Referenced classes of package org.xdls.sys:
//            PVU

public abstract class Server
{

    public static int m_m_UNLIMITEDII = 0;
    public static int m_m_OULICENSEII = 1;
    public static int m_m_TEACHERLICENSEII = 2;
    public static int m_m_OULIMITEDRESOURCELICENSEII = 2;
    String m_m_addcodeStringString;
    public String m_m_versionStringString;
    public String m_m_homepageStringString;
    String m_m_typeStringString;
    public String m_m_captionStringString;
    BigInteger m_m_modBigIntegerBigInteger;
    BigInteger m_m_publicexpBigIntegerBigInteger;
    String m_m_inifileStringString;
    String m_m_typesfileStringString;
    String m_m_emailStringString;
    public String m_m_support_emailStringString;
    public String m_m_orderurlStringString;
    String m_m_starturlStringString;
    String m_m_langfileStringString;
    public String m_m_aboutpageStringString;
    String m_m_companyStringString;
    boolean m_m_helpZZ;
    public int m_m_registertypeII;
    String m_m_licensesaStringaString[] = {
        "Not registered", "Local", "IntraNet", "Internet"
    };
    public int m_m_currentlicenseII;
    public int m_m_licensenumII;
    public int m_m_licensetypeII;
    public boolean m_m_adminingZZ;
    public int m_m_limitresourceII;
    public static boolean m_m_autorundbZZ = false;
    public static Locale m_m_systemlocaleLocaleLocale = Locale.getDefault();

    public Server()
    {
        m_m_addcodeStringString = "0";
        m_m_versionStringString = "1.9.0";
        m_m_helpZZ = true;
        m_m_registertypeII = -1;
        m_m_currentlicenseII = 0;
        m_m_licensenumII = -1;
        m_m_licensetypeII = -1;
        m_m_limitresourceII = 250;
    }

    public void run(String args[])
    {
        if(args.length > 0 && args[0].equals("debug"))
            PVU.m_m_debugZZ = true;
        PVU.m_m_urlStringString = m_m_starturlStringString;
        PVU.m_m_serverServerServer = this;
        PVU._mainaStringV(null);
    }

    public static Locale _getLocalevLocale()
    {
        return new Locale("en", "EN");
    }

}




после компиляции выдает вот такую ошибку 

Код

C:\Program Files\Java\jdk1.6.0_01\bin>javac Server.java
Server.java:65: cannot find symbol
symbol  : variable PVU
location: class org.xdls.sys.Server
            PVU.m_m_debugZZ = true;
            ^
Server.java:66: cannot find symbol
symbol  : variable PVU
location: class org.xdls.sys.Server
        PVU.m_m_urlStringString = m_m_starturlStringString;
        ^
Server.java:67: cannot find symbol
symbol  : variable PVU
location: class org.xdls.sys.Server
        PVU.m_m_serverServerServer = this;
        ^
Server.java:68: cannot find symbol
symbol  : variable PVU
location: class org.xdls.sys.Server
        PVU._mainaStringV(null);
        ^
4 errors

C:\Program Files\Java\jdk1.6.0_01\bin>



все необходимые классы находятся в той же папке что и компилированный файл


Помогите разобраться как подключить необходимые классы для успешной компиляции.


Автор: nornad 8.6.2007, 19:14
Судя по всему, должен быть класс PVU.

Добавлено через 2 минуты и 11 секунд
Кроме того, у него должен быть прописан тот же пакет - org.xdls.sys
Насчёт необходимости раскладывать всё по структуре папок если у тебя все классы только из этого пакета не скажу, но тоже можно попробовать.

Автор: trio 8.6.2007, 21:00
пакет - org.xdls.sys - это структура папок где находятся классы
тоесть ../classes/org/xdsl/sys/*.class

Там же и находяться все необходимые класы в том числе и PVU.classs

Как указать на эти классы в строчке компиляции ?
Точнее я указываю где брать класс, но ошибка та же.... 
В чем проблема ?

Автор: powerOn 8.6.2007, 21:19
Цитата(trio @  8.6.2007,  22:00 Найти цитируемый пост)
Как указать на эти классы в строчке компиляции ? 

1) прописать импорт: 
import org.xdls.sys.PVU;

2) не забыть добавить org.xdls.sys.PVU в classpath для компиляции.

Автор: trio 8.6.2007, 21:38
Цитата(powerOn @ 8.6.2007,  21:19)

1) прописать импорт: 
import org.xdls.sys.PVU;

2) не забыть добавить org.xdls.sys.PVU в classpath для компиляции.

все прописал вот что в результате получается:

Код


C:\Program Files\Java\jdk1.6.0_01\bin>javac -verbose -classpath C:\tmp\15\classe
s Server.java
[parsing started Server.java]
[parsing completed 32ms]
[search path for source files: C:\tmp\15\classes]
[search path for class files: C:\Program Files\Java\jdk1.6.0_01\jre\lib\resource
s.jar,C:\Program Files\Java\jdk1.6.0_01\jre\lib\rt.jar,C:\Program Files\Java\jdk
1.6.0_01\jre\lib\sunrsasign.jar,C:\Program Files\Java\jdk1.6.0_01\jre\lib\jsse.j
ar,C:\Program Files\Java\jdk1.6.0_01\jre\lib\jce.jar,C:\Program Files\Java\jdk1.
6.0_01\jre\lib\charsets.jar,C:\Program Files\Java\jdk1.6.0_01\jre\classes,C:\Pro
gram Files\Java\jdk1.6.0_01\jre\lib\ext\sunjce_provider.jar,C:\Program Files\Jav
a\jdk1.6.0_01\jre\lib\ext\sunmscapi.jar,C:\Program Files\Java\jdk1.6.0_01\jre\li
b\ext\sunpkcs11.jar,C:\Program Files\Java\jdk1.6.0_01\jre\lib\ext\dnsns.jar,C:\P
rogram Files\Java\jdk1.6.0_01\jre\lib\ext\localedata.jar,C:\tmp\15\classes]
[loading C:\Program Files\Java\jdk1.6.0_01\lib\ct.sym(META-INF/sym/rt.jar/java/m
ath/BigInteger.class)]
[loading C:\Program Files\Java\jdk1.6.0_01\lib\ct.sym(META-INF/sym/rt.jar/java/u
til/Locale.class)]
[loading C:\Program Files\Java\jdk1.6.0_01\lib\ct.sym(META-INF/sym/rt.jar/java/l
ang/Object.class)]
[loading C:\Program Files\Java\jdk1.6.0_01\lib\ct.sym(META-INF/sym/rt.jar/java/l
ang/String.class)]
[checking org.xdls.sys.Server]
[loading C:\tmp\15\classes\org\xdls\sys\PVU.class]
Server.java:65: cannot find symbol
symbol  : variable m_m_debugZZ
location: class org.xdls.sys.PVU
            PVU.m_m_debugZZ = true;
               ^
Server.java:66: cannot find symbol
symbol  : variable m_m_urlStringString
location: class org.xdls.sys.PVU
        PVU.m_m_urlStringString = m_m_starturlStringString;
           ^
Server.java:67: cannot find symbol
symbol  : variable m_m_serverServerServer
location: class org.xdls.sys.PVU
        PVU.m_m_serverServerServer = this;
           ^
Server.java:68: cannot find symbol
symbol  : method _mainaStringV(<nulltype>)
location: class org.xdls.sys.PVU
        PVU._mainaStringV(null);
           ^
[total 344ms]
4 errors



Вот ниже сам клас который так упорно запрашивает:

Автор: nornad 9.6.2007, 00:02
Не пробовал в какой-нибудь IDE проект на основе исходников сделать и там уже нормально со всем разобраться? Имхо, это и проще, и нервов меньше тратится.

Автор: trio 9.6.2007, 01:44
Имхо, мне просто нужна помощь в сборке файла....
Файл декодирован, и изменена одна нужная вещь, а теперь нужно собрать обратно.
Шож тут неясного ....

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)