Modification d'un composant logiciel enfichable Java


3

J'essaie de changer la source d'un cliché Java. Voici ce que je fais:

  1. Téléchargez l'exemple de projet.

    svn export https://github.com/snapcore/snapcraft/trunk/demos/java-hello-world
  2. Construisez la capture nommée java-hello-world.

    cd java-hello-world  
    snapcraft
  3. Installez le composant logiciel enfichable.

    sudo snap install java-hello-world_0_amd64.snap --dangerous
  4. Exécutez le claquement.

    java-hello-world.hello

    La sortie est Hello Worldcomme prévu.

Maintenant, je veux changer le snap pour qu'il affiche "Hello Snap" au lieu de "Hello World". Voici ce que je fais:

  1. Modifier java-hello-world/snap/snapcraft.yaml. Changer le grade develet le confinement devmode.

  2. Modifier java-hello-world/src/oata/HelloWorld.java. Changer la ligne 7 à System.out.println("Hello Snap");.

  3. Itérer sur le claquement.

    snapcraft prime
    sudo snap try --devmode prime/

    La sortie est Hello World. J'aimerais avoir la sortie Hello Snapici.

Ce que je fais mal: Il y a deux choses dans le processus de construction qui me semblent suspectes.

  1. Lors de l'exécution de Snapcraft Premier, il est écrit:

    Skipping pull local (already ran)  
    Skipping build local (already ran)  
    Skipping stage local (already ran)  
    Skipping prime local (already ran)  
    Skipping pull wrapper (already ran)  
    Skipping build wrapper (already ran)  
    Skipping stage wrapper (already ran)  
    Skipping prime wrapper (already ran) 

    Je suppose que ignorer toutes ces étapes implique également d’ignorer la lecture et la compilation du fichier java-hello-world/src/oata/HelloWorld.java. C'est pourquoi la sortie est toujours la même après l'édition du fichier. Comment puis-je ne pas sauter cette étape? Le tutoriel dit:

    Remarque: les différentes étapes de snapcraft sont les suivantes: pull (source du téléchargement pour toutes les parties), construction, étape (consolider les fichiers installés de toutes les parties), premier (distiller jusqu'aux fichiers souhaités), / répertoire). Chaque étape dépend de la précédente à compléter ".

    J'ai essayé de le snapcraft pullremplacer prime, mais le résultat est le même.

  2. Lors de snapcraftla première exécution , antdonne un avertissement.

    [javac] /home/username/Java/java-hello-world/parts/local/build/build.xml:19: warning: 'includeantruntime' was not set,
    defaulting to build.sysclasspath=last; set to false for repeatable builds

    Je ne sais pas ce que defaulting to build.sysclasspath=lastsignifie. Donc, cela pourrait être le problème. "mis à false pour les constructions répétables" devrait être correct, car c'est ce que cette réponse suggère .

Comment puis-je actualiser la source de la capture après l'avoir modifiée? Merci d'avance.

Réponses:


2
  1. Nettoyer la version précédente

    snapcraft clean

    Mais quand vous avez un gros projet, vous ne voudrez peut-être que pour cette partie

    snapcraft clean local
  2. Reconstruire à nouveau

    snapcraft
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.