Mostrando postagens com marcador java. Mostrar todas as postagens
Mostrando postagens com marcador java. Mostrar todas as postagens

quinta-feira, novembro 27, 2008

Arquivo de build ANT genérico

Segue um arquivo ANT para build automatizado que fiz para um trabalho na faculdade. Serve para projetos simples, onde o código fonte fica na pasta /src, as libs em /lib. Será criado um .zip com os arquivos .jar do programa, das libs, e do código fonte na pasta do projeto. Arquivos criados temporariamente são apagados.
Basta criar um arquivo build.xml na raiz do projeto, e definir algumas variáveis no arquivo antes de executar.

Observação: apesar de uma parte do código não aparecer por causa do layout, basta selecionar tudo que a cópia sairá correta.


<?xml version="1.0" encoding="iso-8859-1" ?>
<project name="build" default="zip" basedir=".">

<!-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -->
<!-- nome do programa -->
<property name="app.name" value="scheduler" />
<!-- classe principal do programa -->

<property name="main.class" value="br.ufsc.ine5616.scheduler.MainScheduler" />
<!-- classpath: definir todas as libs, pois o JRE não aceita wildcards -->
<property name="classpath" value="lib/forms-1.2.1.jar lib/looks-2.2.1.jar" />

<!-- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx -->



<!-- diretorio de fontes -->
<property name="src" value="${basedir}/src" />
<!-- diretorio de libs -->

<property name="lib" value="${basedir}/lib" />

<!-- diretorios temporarios -->
<property name="build" value="${basedir}/classes" />

<property name="jar" value="${basedir}/jar" />
<property name="dist" value="${basedir}/dist" />


<tstamp>
<format property="timestamp" pattern="dd-MMM-yyyy HH:mm:ss" />
</tstamp>

<target name="create" description="Creates output folders">

<echo>[${app.name}] Create</echo>
<mkdir dir="${build}" />
<mkdir dir="${jar}" />

<mkdir dir="${dist}" />
</target>

<target name="compile" depends="create" description="Compiles the source">

<echo>[${app.name}] Compile</echo>
<javac srcdir="${src}" destdir="${build}" >
<classpath>

<fileset dir="${lib}">
<include name="**/*.jar" />
</fileset>
</classpath>
</javac>

</target>

<target name="jar" depends="compile" description="Creates the jar">
<echo>[${app.name}] Jar</echo>

<jar destfile="${jar}/${app.name}.jar" basedir="${build}">
<manifest>
<attribute name="Implementation-Title" value="${app.name}"/>

<attribute name="Main-Class" value="${main.class}"/>
<attribute name="Sealed" value="true"/>
<attribute name="Class-Path" value="${classpath}"/>

<attribute name="Created-On" value="${timestamp}"/>
<attribute name="Created-By" value="${user.name}"/>
</manifest>

</jar>
</target>

<target name="deploy" depends="jar" description="Deploys projects and /lib to /dist">
<echo>[${app.name}] deploy</echo>

<copy todir="${dist}/${app.name}" overwrite="yes">
<fileset dir="${jar}" includes="${app.name}.jar"/>

</copy>
<copy todir="${dist}/${app.name}/lib" overwrite="yes">
<fileset dir="${basedir}/lib" includes="*.jar" />

</copy>
</target>

<target name="deploy-src" description="Deploys the source files to a .jar file">
<echo>[${app.name}] deploy - src</echo>

<jar destfile="${jar}/${app.name}-src.jar" basedir="${src}">
<manifest>
<attribute name="Implementation-Title" value="${app.name}"/>

<attribute name="Created-On" value="${timestamp}"/>
<attribute name="Created-By" value="${user.name}"/>
</manifest>

</jar>
<copy todir="${dist}/${app.name}" overwrite="yes">
<fileset dir="${jar}" includes="${app.name}-src.jar"/>

</copy>
</target>

<target name="zip" depends="deploy, deploy-src" description="Creates a .zip with the app">
<echo>[${app.name}] Zip</echo>

<delete file="${app.name}.zip" />
<zip destfile="${app.name}.zip" basedir="${dist}" update="true" />

<ant antfile="${basedir}/build.xml" target="clean" />
</target>

<target name="clean" description="Cleans the output directories">

<echo>[${app.name}] Clean</echo>
<delete dir="${build}" />
<delete dir="${jar}" />

<delete dir="${dist}" />
</target>

</project>

quinta-feira, maio 01, 2008

Lib Utils

Lib Utils v1.1:
  • DataResources: Faz a serialização de objetos e leitura/escrita em arquivos de texto puro
  • ExternalIPFinder: Descobre o endereço IP externo do computador utilizando o serviço de automação do site www.whatismyip.com.
  • ImageLoader: Carrega uma pasta de imagens com nome no padrão [d*] e retorna um conjunto randômico de tamanho especificado
  • JarResources: Acessa recursos existentes em arquivos .jar ou .zip de forma direta
  • ValidadorCNPJ: Fornece método static boolean isValido (String cnpj)
  • ValidadorCPF: Fornece método static boolean isValido(String cpf )
Link para download (14KB)

quinta-feira, abril 17, 2008

Componente: Board


Componente que implementa um tabuleiro simples, com algum suporte à jogadas. Foi utilizado no Jogo da Memória, feito para a disciplina INE5612.

Pode ser rodado como um JavaBean (por exemplo, inserido na tab Beans do NetBeans) ou inserido no código à mão - a classe tests.DemoBoard exemplifica o processo.

Update: v1.1, corrigindo a visibilidade do construtor Position e adicionando métodos para suporte de Posições Próximas.

Link para download (11KB)

quinta-feira, abril 10, 2008

Java: Jogo da Memória


Extremamente simples, mas funciona... e o código ficou bonito! (:
Usa os componentes Board (tabuleiro), JGoodies Forms (layout) e JGoodies Looks (aparência).
Imagens, libs e código inclusos no .zip.
Falando nisso, quem quiser conhecer um jogo online legal, dá uma olhada aqui. Dá pra fazer login com o Facebook (é seguro) e é bem divertido depois que se pega o jeito. Se quiserem umas dicas, só me mandar mensagem ingame (:

UPDATE:
v1.1.1, corrigindo um bug no término do jogo que exigia um clique adicional e implementando um novo construtor na classe PanelMain - agora o jogo pode ser adicionado em outro programa simplesmente chamando-se new PanelMain().getPanel();
v1.1, com suporte à Threads (a imagem fica na tela por alguns instantes, mesmo não fechando o par).

Link para download (626KB)

UPDATE 20/04/2010:
Se você quer utilizar o código para [insira qualquer coisa aqui], sinta-se à vontade - só peço a gentileza de deixar um comentário depois com o que você fez, de curioso mesmo (:

terça-feira, janeiro 15, 2008

Download do conteúdo de uma URL em Java

Estava com problemas pra baixar o conteúdo de uma java.net.URL (uma imagem, no caso) sem corromper os dados. Bem, o código a seguir funcionou que é uma maravilha:

URL downloadLink = new URL("http://xxxxxx.jpg");

FileOutputStream output = new FileOutputStream("arquivo.jpg");
BufferedInputStream input = new BufferedInputStream(downloadLink.openStream());

byte[] buf = new byte[4096];
int lenght;
while ((lenght = input.read(buf)) > 0){
output.write(buf, 0, lenght);
}
input.close();
output.close();


Só faltou, claro, o tratamento das exceções :)

terça-feira, novembro 06, 2007