[RESOLVIDO] Portar aplicação Swing para o Maven

17 respostas
J

Olá amigos, eu tenho uma aplicação swing utlizando o framework OpenSwing e gostaria de porta-lo para uma aplicação Maven.

Venho tentando várias formas mas até o momento não obtive sucesso :frowning:

Gostaria de saber se existe alguma forma de criar um repositorio local e/ou remoto para incluir o Openswing?

Achei esse tutorial mas até agora nao deu certo: http://silvacarvalho.net/blog/?p=153

Desde já agradeço qualquer ajuda

Abraços

Jomello

17 Respostas

L

Cara geralmente quando vou mudar algo de desktop para maven, eu apenas coloco as dependências no pom.xml, se não existir no repositório eu insiro manualmente

J

Sim mas como se faz isso??

Eu não consigo inserir a biblioteca do Openswing, ele pede adicionar nova dependencia ai tem que estar em algum repositorio local ou remoto.

Estou utilizando o Netbeans 6.9 ok

Abraços

Jomello

L

Se você tem um jar do open swing, você pode criar a estrutura de pastas dentro de .m2\repository, você cria

sun\algumaCoisa\openSwing\x.x\openSwing.jar

no seu pom você faz

sun.algumaCoisa.openSwing
openSwing
x.x

Assim ele vai encontrar

J

Esta quase lá :slight_smile:

Só que não tem um unico JAR e sim vários:

clientos.jar
commonos.jar
serveros.jar

a vários outros que são dependencia como por exemplo itext.jar, etc

eu criei lá no /user/.m2/repository/org/OpenSwing/openswing/2.2.7/todos_os_jars

O que estou fazendo de errado??

Abraços e Obrigado pela ajuda Luciano :slight_smile:

L

Cada jar tem que estar dentro da sua propria pasta no repositório veja o meu

.m2\repository\org\apache\ant\ant\1.7.0\ant-1.7.0.jar
.m2\repository\org\apache\ant\ant-junit\1.7.0\ant-junit-1.7.0.jar

as suas duas ultimas pastas tem que refletir o jar e a versão eu acho. Você vai ter criar várias pastas das dependências.

Você pode fazer uma coisa, usar o netBeans para inserir as dependencias no pom, só que quando você salvar você não deixa ele acessar a internet para baixar,
ai as pastas dos jars vão estar criadas, você só vai ter que inserir os jars nas devidas pastas.

J

Blz já coloquei cada JAR dentro do seu diretorio, mas e quando o jar não tem numero de versão?

clientos.jar

A estrutura fico assim: \user.m2\repository\org\OpenSwing\clientos\2.2.7\clientos.jar

no porn.xml coloquei assim:


org.OpenSwing
clientos
2.2.7

Mas ai da esse erro:

Path to dependency:
1) org.OpenSwing:clientos:jar:2.2.7

O que devo fazer?

Abraços

Jomello

L

Seu clientos.jar tinha quer clientos-2.2.7.jar

coloca ele assim que vai funcionar direitinho

J

Sim, mas e quando tiver uma nova versão?

Vou ter que renomear tudo de novo?

Não tem um jeito de não ter que colocar a versão?

Abraços

Jomello

J

Não deu certo :-(

renomei o jar para clientos-2.2.7.jar e da esse erro:

NetBeans: Executing 'C:\apache-maven-2.2.1\bin\mvn.bat -Dnetbeans.execution=true clean install'
NetBeans:      JAVA_HOME=C:\Java\jdk1.6.0_18
Scanning for projects...
------------------------------------------------------------------------
Building jmistd
   task-segment: [clean, install]
------------------------------------------------------------------------
[clean:clean]
Deleting directory C:\jmistd\target
[resources:resources]
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
skip non existing resourceDirectory C:\jmistd\src\main\resources
Downloading: http://repo1.maven.org/maven2/org/OpenSwing/clientos/2.2.7/clientos-2.2.7.pom
Unable to find resource 'org.OpenSwing:clientos:pom:2.2.7' in repository central (http://repo1.maven.org/maven2)
Downloading: http://repo1.maven.org/maven2/org/OpenSwing/clientos/2.2.7/clientos-2.2.7.jar
Unable to find resource 'org.OpenSwing:clientos:jar:2.2.7' in repository central (http://repo1.maven.org/maven2)
------------------------------------------------------------------------
[ERROR]BUILD ERROR
------------------------------------------------------------------------
Failed to resolve artifact.

Missing:
----------
1) org.OpenSwing:clientos:jar:2.2.7

  Try downloading the file manually from the project website.

  Then, install it using the command: 
      mvn install:install-file -DgroupId=org.OpenSwing -DartifactId=clientos -Dversion=2.2.7 -Dpackaging=jar -Dfile=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there: 
      mvn deploy:deploy-file -DgroupId=org.OpenSwing -DartifactId=clientos -Dversion=2.2.7 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency: 
          1) org.jmi:jmistd:jar:1.0
          2) org.OpenSwing:clientos:jar:2.2.7

----------
1 required artifact is missing.

for artifact: 
  org.jmi:jmistd:jar:1.0

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)



------------------------------------------------------------------------
For more information, run Maven with the -e switch
------------------------------------------------------------------------
Total time: 4 seconds
Finished at: Thu Sep 23 17:16:27 BRT 2010
Final Memory: 7M/19M
------------------------------------------------------------------------
L

Ainda não usei nenhum que não tenha versão, mas acredito que se não tiver a pasta com o número da versão, você não vai precisar colocar a versão no nome do arquivos e nem a tag version no pom.

O ideal é que você monte seu repositório corretamente para ficar facil de procurar os jars depois.

L
org.jmi:jmistd:jar:1.0

Seu jar clientos tem dependência deste jar, coloca ele no repositório também

J

Não esse ai é a minha aplicação, só pede isso quando coloca o clientos-2.2.7.jar

No caso criei uma aplicação vazia só para testar, segue o meu porn.xml ok

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.jmi</groupId>
    <artifactId>jmistd</artifactId>
    <packaging>jar</packaging>
    <version>1.0</version>
    <name>jmistd</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.OpenSwing</groupId>
            <artifactId>clientos</artifactId>
            <version>2.2.7</version>
        </dependency>
    </dependencies>
</project>
L

Pelo que vi do seu console ele está procurando o clientos.jar no repositório central do maven, então isso quer dizer que ele não está encontrado na sua máquina.
Da uma checada na estrutura das pasta se está correta.

J

Aparetemente esta tudo certo, da uma olhada na estrutura do diretorio, inclusive estou olhando para case-sensitive


L

A man seu jar está como clientos.-2.2.7.jar é isso que ta errado, renomeia para clientos-2.2.7.jar

huahuahauhaauua

J

Obrigado Luciano pela sua grande ajuda nesse meu problema :slight_smile:

Mas é com grande satisfação que venho aqui tentar compartilhar a solução do meu problema e deixar aberto para todos caso precisem utilizar o OpenSwing via Maven ok.

Bom, eu criei um repositorio no Google Code e coloquei o OpenSwing versão 2.2.7 (já saiu a versão 2.2.8 :frowning: ) e agora vou tentar explicar como utiliza-lo ok.

(Qaulquer problema e/ou duvida fale aqui para que todos compartilhem ok)

Primeiro vou colocar uma aplicação basica do Maven utilizando o Openswing:

Bom lá tem o POM.XML que mostra como colocar o repositorio e chamar as bibliotecas do Openswing.

Dentro do google code tem as dependencias que ele utiliza, mas se quiserem colocar via Maven, só não garanto nada porque entendo que o criador utiliza essas versões para rodar tudo na boa ok.

Outra coisa, estou deixando o google code aberto para novas atualizações e/ou melhorar, pois fiz no braço e não sei ainda se foi a forma mais correta ok.

Abraços a todos e fiquem com Deus

Jomello

J

Olá amigos, eu já atualizei o Maven para a ultima versão 2.2.8 ok
Segue abaixo o arquivo POM.XML:

<repositories>
        <repository>
            <id>openswing</id>
            <name>Openswing - Framework Swing</name>
            <url>https://openswing.googlecode.com/svn/</url>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>clientos</artifactId>
            <version>2.2.8</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>commonos</artifactId>
            <version>2.2.8</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>serveros</artifactId>
            <version>2.2.8</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>srcclientos</artifactId>
            <version>2.2.8</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>srccommonos</artifactId>
            <version>2.2.8</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>srcserveros</artifactId>
            <version>2.2.8</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>BeanInfo</artifactId>
            <version>2.2.8</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>hessian</artifactId>
            <version>3.1.1</version>
            <type>jar</type>
        </dependency>

        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>hsqldb</artifactId>
            <version>1.8.0.10</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>itext_a</artifactId>
            <version>1.4.8</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>iText</artifactId>
            <version>2.1.7</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>iText-rtf</artifactId>
            <version>2.1.7</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>jcalendar</artifactId>
            <version>2.2.8</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>jnlp</artifactId>
            <version>2.2.8</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>jnlp-servlet</artifactId>
            <version>2.2.8</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.7</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>poi</artifactId>
            <version>2.0-RC2-20040102</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.openswing</groupId>
            <artifactId>pooler</artifactId>
            <version>2.2.8</version>
            <type>jar</type>
        </dependency>
    </dependencies>

Abraços

Jomello

Criado 23 de setembro de 2010
Ultima resposta 25 de set. de 2010
Respostas 17
Participantes 2