Pergunta

Maven 2 utiliza um esquema de diretório padrão para projetos, documentado aqui:

http: //maven.apache .org / guias / introdução / introdução-to-the-standard-directory-layout.html

O que eu estou querendo saber é: convenções são não recomendados para outros projetos além da biblioteca plain vanilla Java, projetos Java EE e WebApp? Especificamente, onde colocar arquivos de formigas, iniciar scripts, arquivos de configuração, aplicações de exemplo, etc.

Além disso, o que é a convenção para a colocação de arquivos fora da árvore src / diretório? Por exemplo, é comum a documentação lugar sob doc / (como irmão de src)?

Existe uma página onde essas convenções são compilados? Se não, pode outros leitores fornecer exemplos de seus próprios projetos?

Foi útil?

Solução

Eu não acho que há uma disposição oficial para aplicações desktop, mas este é o layout que usamos para o nosso.

  • src / main / config -. Arquivos de configuração, copiados e filtrada para $ {project.build.directory} / config
  • src / principais roteiros / -. Sh, morcego, README e outros arquivos de texto simples que são copiados e filtrada para $ {project.build.directory}
  • src / main bin / -. Os arquivos binários que são não filtrados e copiados para $ {project.build.directory}
  • src / main / build -. Quaisquer scripts adicionais, arquivos de formiga, ou recursos utilizados pelo processo de compilação, mas não incluídas na aplicação
  • src / main montagem / -. Descritor Assembléia para criar aplicativo de montagem
  • Copiar dependências para $ {project.build.directory} / lib usando plugin-dependência Maven.
  • Os pontos de bónus se você usar um assembly jar descritor compartilhada que inclui os diretórios de configuração e lib, juntamente com tipos de arquivo padrão para compartilhar com todos os seus projetos. Um bom conjunto de tipos de arquivo padrão para incluir é .sh, .bat, e .EXE com permissões executáveis; .jar, .zip, .txt, .pdf, .xml .properties, .conf, .ico, .png, .jpg com permissões padrão.
  • Adicione o diretório de configuração e lib / prefixo para o classpath usando o plugin maven-jar para fazer um frasco executável.
  • Adicionar um perfil de instalação que constrói um conjunto de sua aplicação usando o descritor-maven montagem plugin e sua montagem. Esta montagem pode ser consumida por um projeto instalador separado, se necessário.
  • Evite colocar qualquer outra coisa no src / nível. Em vez colocar a documentação dentro do src / site / diretório (por exemplo. Src / site / sphinx) ou src / doc se você realmente precisa.
  • Coloque toda a configuração acima, em um pai pom / corporativa para compartilhar com todos os seus projetos. Basta referenciar o maven-dependência, Maven-recursos, o Maven-jar, e plugins-montagem Maven no seu projeto para construir um aplicativo inteiro com quase nenhuma configuração (não se esqueça de definir a principal classe para o plugin maven-jar) .

Outras dicas

A principal pasta I lugar arquivos de configuração extra no está sob src / main / java / recursos. Normalmente eu criei sub-diretórios sob lá. Os testes podem ter seus próprios arquivos de configuração src / test / recursos.

Você pode usar diretivas na seção de construção do pom.xml para especificar diretórios de recursos adicionais e onde para copiar arquivos para locais específicos no diretório de destino. Normalmente uma convenção surge para o idioma ou quadro que você está tentando usar. Caso em que a confusão pode ser escondido em um pom.xml pai

http://maven.apache.org/pom.html#Resources

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top