Dúvidas sobre o funcionamento e a utilização de java e javac [RESOLVIDO]

0 respostas
leonardo.moreti

Pessoal, estou estudando as ferramentas Java pela linha de comando, mas há alguns conceitos que ainda estão meio obscuros para mim.

Vou colocar aqui o exemplo em que estou trabalhando.

[my project]
    |
    |
    |------[source]
    |           |
    |           |------[com]
    |           |         |
    |           |         |-----[wickedlysmart]
    |           |                         |
    |           |                         |-----BankAccount.java
    |           |
    |           |-----[stuff]
    |                     |
    |                     |-----[wickedugly]
    |                                    |
    |                                    |-----Person.java
    |------[classes]
                |
                |------[com]
                |         |
                |         |-----[wickedlysmart]
                |                        |
                |                        |-----BankAccount.class
                |
                |-----[stuff]
                          |
                          | -----[wickedugly]
                                        |
                                        |-----Person.class

A classe BankAccount.java:

package com.wickedlysmart;

import stuff.wickedlyugly.Person;

public class BankAccount {

	public String accountNumber;
	public Person owner = new Person();
	
	public static void main(String[] args) {
		BankAccount ba = new BankAccount();
		ba.owner.name = "Dexter Morgan";
		ba.owner.city = "Miami";
		System.out.print(ba.owner.name + "-" + ba.owner.city);
	}
}

A classe Person.java:

package stuff.wickedlyugly;

public class Person {

	public String name;
	public String city;
}

Objetivo: Compilar e executar a classe BankAccount.java.

Passo 1. A classe BankAccount necessita da classe Person, portanto entrei no dir my project\source\stuff\wickedlyugly e executei javac -d …\classes Person.java

Passo 2. Agora tenho o Person.class, e posso compilar a classe BankAccount. entrei no dir \my project\source\com\wickedlysmart e executei javac -cp …\classes -d …\classes BankAccount.java

Passo 3. Executar: Entrei no dir my project\classes\com\wickedlysmart e executei java -cp …\classes com.wickedlysmart.BankAccount

A minha dúvida é no passo 3. Quando eu passo esse caminho do classpath -cp …\classes, como a JVM o interpreta? À partir dele a JVM procura e vê se encontra um dir chamado com e daí vê se encontra um outro chamado wickedsmart, para daí ver se encontra o arquivo BankAccount.class? E também à partir desta pasta a JVM procura por stuff\wickedugly\Person.class?

Criado 2 de março de 2010
Respostas 0
Participantes 1