---
title: "Kompilera på unix-maskin"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/119711-kompilera-på-unix-maskin"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "Gein"
published: "2005-01-09T21:12:50.000Z"
updated: "2005-01-10T08:52:39.000Z"
replies: 3
views: 358
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/119711-kompilera-på-unix-maskin"
---

# Kompilera på unix-maskin

## #1 — Gein, 2005-01-09T21:12Z

Jag har en applikation som fungerar utmärkt i Windows men när jag ska flytta den till unix och kompilera så lyckas jag inte. Vet inte riktigt om jag gör rätt.
Jag har två paket: simulation och pasture (pasture använder klasser i simulation)

Nu ligger java-filerna i /java/simulation/ respektive /java/pasture/
Försöker jag köra (från /java/-mappen)
javac -g -verbose -sourcepath ./simulation/\*.java ./pasture/\*.java
så får jag ett gäng fel. Paketet simulation går igenom fint men i pasture får jag massor av fel. T.ex:

> ./pasture/Wolf.java:239: cannot resolve symbol
> symbol  : variable position
> location: class pasture.Wolf
>                 if(!isPositionLegal(hostSystem, this.position)) {

position är en variabel som är definierad i en klass som Wolf (till slut) ärver ifrån men som ligger i simulation. Alla fel jag ser verkar bero på samma grej. Kompilatorn hittar inte metoder/variabler som en klass har som är definierade i en arvsklass från simulation.

Jag har provat att sätta CLASSPATH till de två paket-katalogerna utan framgång. Hur ska jag kompilera?

Permalänk: https://www.webforum.nu/p/119711

## #2 — Gein, 2005-01-09T21:33Z

Okej, jag skulle visst sätta classpath till katalogen före paketen, dvs /java/. Nu kan jag iaf kompilera. 
När jag försöker starta programmet (java -classpath ../ PastureSimulation.class) så får jag följande fel: 

> Exception in thread "main" java.lang.NoClassDefFoundError: PastureSimulation/class

 Jag har sökt lite och hittar 

> Thrown if the Java Virtual Machine or a classloader tries to load in the definition of a class (as part of a normal method call or as part of creating a new instance using the new expression) and no definition of the class could be found.

Kan felet bero på att jag försöker starta genom SSH (från Windows. Sitter inte på samma dator) och att applikationen vill öppna fönster och härja?
Eller är det fel i klassökvägar igen?

Permalänk: https://www.webforum.nu/p/1524383

## #3 — spango, 2005-01-09T22:11Z

Re: Kompilera på unix-maskin

> **Gein skrev:**
>
> java -classpath ../ PastureSimulation.class

Du ska ju inte ha med filändelsen, bara det kvalificerade klassnamnet. Så det ska väl typ vara *java -classpath /java simulation.PastureSimulation*

Permalänk: https://www.webforum.nu/p/1524404

## #4 — Gein, 2005-01-10T08:52Z

Tack, spango! Du är en pärla ;)
Det fungerar fika nu!
Det som löste biffen för att vara exakt:

> java -classpath ./ pasture/PastureSimulation

Permalänk: https://www.webforum.nu/p/1524541

---

Tråden på webben: https://www.webforum.nu/amne/java/119711-kompilera-på-unix-maskin
