Visualizzazione dei risultati da 1 a 4 su 4

Discussione: compilare .class

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    395

    compilare .class

    Buongiono, sto impazzendo!!!

    ho un file .jar a cui devo modificare un file.

    Quindi lo ho scompattato ed mi ritrovo con tutto i file in formato .class.

    per poterlo modificare l'ho decompilato e mi sono ritrovato il file .java.

    ora lo ho modificato (devo solo modificare un testo tradotto da tedesco a italiano) e lo ricompilo con javac

    Il problema che non me lo crea perchè mi dice che si sono 14 errori:
    symbol: variable localObject
    location: class diskpanel
    diskpanel.java:431: error: cannot find symbol
    e poi la riga in questione


    che però io non l'ho minimamente modificata.

    come faccio a risolvere?

    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    versione breve e deontologicamente non corretta (per non dire che infrangi qualche copyright): non risolvi. Il decompilare non garantisce, nella maggior parte dei casi, la produzione di codice "plain" ricompilabile. In altre parole, devi controllare tutto il codice della classe e accertarti che abbia un senso (sintattico) e dopo sperare che abbia anche un senso (semantico).

    versione lunga/corretta: fatti mandare il sorgente dall'autore, descrivi i tuoi buoni propositi di traduzione e vedete di venirvi incontro in qualche modo.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: compilare .class

    Originariamente inviato da ottoboni77
    ho un file .jar a cui devo modificare un file.

    Quindi lo ho scompattato ed mi ritrovo con tutto i file in formato .class.

    per poterlo modificare l'ho decompilato e mi sono ritrovato il file .java.

    ora lo ho modificato (devo solo modificare un testo tradotto da tedesco a italiano) e lo ricompilo con javac

    Il problema che non me lo crea perchè mi dice che si sono 14 errori:
    symbol: variable localObject
    location: class diskpanel
    diskpanel.java:431: error: cannot find symbol
    e poi la riga in questione
    A parte questioni "etiche" sul fatto se sia legale o meno quello che stai facendo (mi astengo dall'intromettermi in queste questioni), ammesso che il decompilatore abbia fatto bene il suo lavoro e abbia generato un .java corretto e fedele del .class allora:
    1) Se la classe è in un package, c'è la regola generale per cui i nomi di package si devono "riflettere" nella struttura delle cartelle. Quindi disposizione cartelle/file e compilazione vanno fatti nel modo appropriato.
    2) Se quella classe ha bisogno di altre classi in quel jar, chiaramente quel jar va messo "in classpath".
    3) Se c'è bisogno di altri jar esterni per la compilazione, pure quelli vanno in classpath.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    Io, al contrario, non posso esimermi dal chiudere la discussione, in quanto in questo forum (tutto) non si può parlare di decompilazione per ovvi motivi, a prescindere dalle buone intenzioni di chi ne fa uso.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.