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

17 respostas
jomello_br

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

luciano2

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

jomello_br

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

luciano2

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

jomello_br

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:

luciano2

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.

jomello_br

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

luciano2

Seu clientos.jar tinha quer clientos-2.2.7.jar

coloca ele assim que vai funcionar direitinho

jomello_br

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

jomello_br

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
------------------------------------------------------------------------
luciano2

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.

luciano2
org.jmi:jmistd:jar:1.0

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

jomello_br

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>
luciano2

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.

jomello_br

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


luciano2

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

huahuahauhaauua

jomello_br

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

jomello_br

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