Dado que aprendi recentemente o desenvolvimento de um projeto distribuído, falarei sobre o desenvolvimento real do uso da Intellij Idea para criar projetos de vários módulos baseados no MAVEN. Pode haver aspectos inadequados, mas o projeto pode ser executado. Apresente todas as deficiências e discuti -las juntas.
Primeiro, vamos mostrar o diretório do projeto do projeto final:
Uma breve introdução à estrutura do diretório:
common-parent é o projeto pai de todos os projetos, usado principalmente para gerenciar os pacotes JAR e suas versões usadas por todos os projetos.
common-utils é um projeto de classe de ferramentas públicas, herdando o projeto pai e será rotulado como um pacote JAR para uso por outros projetos.
taotao-manager é um projeto que herda do nosso projeto pai.
taotao-manager-pojo é um submódulo de nosso próprio projeto, que depende do Taotao-manager e é dividido em pacotes JAR.
taotao-manager-mapper é um submódulo de nosso próprio projeto e depende do Taotao-manager-Pojo e é dividido em pacotes JAR.
taotao-manager-service é um submódulo de nosso próprio projeto e depende do Taotao-manager-Mapper e é transformado em um pacote JAR.
taotao-manager-web é um submódulo de nosso próprio projeto e depende do serviço Taotao-manager e é combinado em um pacote de guerra.
A seguir estão as operações específicas:
1. Primeiro abra a idéia de Intellij e siga as etapas abaixo:
Ou ideia aberta pela primeira vez,
2. Vá para o diretório de criação e selecione Projeto vazio, próximo
3. Vá para a nova página do projeto, preencha o nome do projeto, selecione Localização do projeto e clique em Concluir
Aguarde a ideia de carregar e prosseguir para a próxima etapa
4. Selecione Arquivo> Novo> Módulo e insira a nova página do módulo:
5. Na nova página do módulo, siga as etapas abaixo:
6. Preencha o nome da organização e o nome do projeto, bem como o número da versão
7. Configure os arquivos de configuração do MAVEN LOCAL MAVEN e MAVEN
8. A última etapa na criação do projeto pai, nomeie o módulo, selecione o diretório de trabalho e selecione completo
Aguarde a geração do arquivo POM, observe que o método de embalagem deve ser modificado como POM. Modifique o arquivo POM da seguinte
<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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.william</groupId> <artifactId>common-parent</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging><!--Modify the packaging method--> <name> Common-Parent </name> <url> http://maven.apache.org </url> <!-Número da versão central da definição de dependência-> </project> <projeto.build.sourceEncoding> utf-8 </project.build.sourceEncoding> <unit.version> 4.1t.1t.1t (Juniting> utf-8 </project.build.ercencoding> <unit.version> <pendencyManagement> <pendências> <!-componente de operação de tempo-> <pendency> <puperid> joda-the-the </proupid> <TRAFACTID> joda-the-the-the </artifactId> <versão> $ {joda-time.version} </sipers> </dependency> (omitido) </dependencement> <fursion} <inkinName> </dependency> (omitido) </dependenceManagement. <fininName} </sipery> <!-Plugin de cópia de arquivo de recursos-> <flugin> <puperid> org.apache.maven.plugins </groupiD> <TRAFACTID> MAVEN-RESOURCES-PLUGIN </ArtifactId> <boding> 2.7 </versão> <figuration> <decoding> utf-8 </coda> </pluk> </pluk> </plugm> </plugin> plugin <PuerpId> org.apache.maven.plugins </groupiD> <TROTIFACTID> maven-compiler-pplugin </artifactId> <versão> 3.5.1 </versão <figuration> </pict> </coding> </fonte> </Target> 1.8 </Target> <Coding> Utf-8 </encobring> Primeiro, a classe de ferramentas públicas é herdada do projeto dos pais parental.
Uma coisa a observar é que, para que o projeto apareça como um submódulo (semelhante ao desenvolvimento no Eclipse), há um passo a ser observado na criação de UTILs comuns:
Preste atenção especial à próxima etapa, esta etapa afetará a estrutura do diretório.
Observe também que o método de pacote do projeto é JAR, que é diferente do projeto pai.
<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/xsd/maven-4.0.0.xsd "> <airest> <TRAFACTID> Common-Parent </storkactid> <purtiF> cn.william </groupid> <versão> 1.0-snapshot </versão> <telptelpath> <xemuM- Commentent> <ModelVersion> 4.0.0 </modelVersion> <TarifactId> Common-Utils </starfactId> <batyaging> jar </acheging> <!-para jar pacote-> <name> Common-utils </name> <url> http://maven.apache.org </url> <Propriedades> <Project.build.sourceEncoding> utf-8 </project.build.sourceEncoding> </properties> <!-dependências do pacote jar-> <Dependences> <!-componente de operação de tempo-> dependência> </groupid> joda-time </groupid> <TifactId> joda-time </artift>
Crie um projeto de desenvolvimento Taotao-manager. As etapas da criação são as mesmas que acima. Ele também herda o pai comum e modifica seu arquivo POM. Os detalhes são os seguintes:
<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/xsd/maven-4.0.0.xsd "> <airest> <TRAFACTID> Common-Parent </storkactid> <purtiF> cn.william </groupid> <versão> 1.0-snapshot </versão> <telptelpath> <xemuM- Commentent> <modelVersion>4.0.0</modelVersion> <artifactId>taotao-manager</artifactId> <packaging>pom</packaging> <name>taotao-manager</name> <url>http://maven.apache.org</url> <modules> <module>taotao-manager-pojo</module> <module>taotao-manager-mapper</module> <module>taotao-manager-service</module> <module>taotao-manager-web</module> </modules> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <!-- Dependency Management--> <Depencency> <GrupID> cn.william </frugiD> <TRATIFACTID> Common-utils </ArtifactId> <Versão> 1.0-Snapshot </siers> </dependency> </dependências> <build> <!-Configurando plugins-> <flugin> <plupid> org.apache.tomcat.maven <plugin> <plupid> org.apache.tomcat.maven- <TarifactId> tomcat7-maven-plugin </stifactId> <frifiguration> <tom> 8080 </port> <ty Path>/</path> </figuration> </plugin> </plugins> </build> </project>
Crie submódulos como taotao-manager-pojo, mapeador, serviço, web etc., da seguinte forma:
Clique com o botão direito do mouse Taotao-manager, selecione novo, módulo,
Observe nesta etapa que, diferentemente da criação de utis comuns, é para adicionar seus submódulos ao diretório Taotao-manager:
A configuração relevante do Maven, mantenha o padrão:
Basta prestar atenção ao diretório em que o submódulo está localizado:
Crie outros submódulos sob Taotao-manager
Quando mencionamos acima, criamos o submódulo Taotao-Manager-Pojo. Os outros três submódulos são criados de maneira semelhante a eles, com uma pequena diferença. Ao criar o submódulo Taotao-Manager-Web, o tipo do projeto MAVEN é selecionado da seguinte maneira:
Modifique o arquivo POM do submódulo
Os métodos empacotados de submódulos pojo, mapper e serviço são todos os frascos, e apenas os submódulos da Web são embalados como pacotes de guerra.
O submódulo Pojo, Pom.xml é o seguinte:
<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/xsd/maven-4.0.0.xsd "> <aporel> <TRAFACTID> taotao-manager </starfactid> <punerid> cn.william </groupid> <versão> 1.0-SNAPSHOT </versão> </Parent> <modelverssion> </groupid> <sipers> 1.0-Snapshot </versão> </parent> <modelverssion> </ </ArtifactId> <batyaging> jar </acheging> <name> taootao-manager-pojo </name> <url> http://maven.apache.org </url> <Propriedades> <Projed.build.sourfoding.org> </properties> </ Project>
O submódulo do mapeador depende do submódulo Pojo. Os detalhes do Pom.xml são os seguintes:
<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/xsd/maven-4.0.0.xsd "> <aporel> <TRAFACTID> taotao-manager </starfactid> <punerid> cn.william </groupid> <versão> 1.0-SNAPSHOT </versão> </Parent> <modelverssion> </groupid> <sipers> 1.0-Snapshot </versão> </parent> <modelverssion> </ <TarifactId> Taotao-manager-mapper </sTifactId> <batyaging> jar </acheging> <name> taotao-manager-mapper </name> <url> http://maven.apache.org </url> <Perts> <Projector.build.sourcescoding> utf-8 </url> <Perts> <Projector.Build.sourcoding> </properties> <pendências> <!-Dependência e Pojo submodule-> <pendency> <puperid> cn.william </frupiD> <ArtifactId> taotao-manager-POJO </Artifactid> <versão> 1.0-SNAPSHOT </versão </dependency> <!-mybatis-> <artifactId>mybatis</artifactId> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> </dependency> <dependency> <groupId>com.github.miemiedev</groupId> <artifactId>mybatis-paginator</artifactId> </dependency> <Depencency> <PuerpId> com.github.pagehelper </proupid> <stifactId> PageHelper </starifactId> </dependency> <!-mysql-> <pendency> <puseching> MySQL </Groupid> <TarfactId> mySql-Connector-Java </ArtifactId> </grupo> <GrupidId> com.alibaba </frupiD> <TRAFACTID> druid </stifactId> </pendence-> </dependências> </jé
O submódulo de serviço depende do submódulo do mapeador, e os detalhes do POM.XML são os seguintes:
<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/xsd/maven-4.0.0.xsd "> <aporel> <TRAFACTID> taotao-manager </starfactid> <punerid> cn.william </groupid> <versão> 1.0-SNAPSHOT </versão> </Parent> <modelverssion> </groupid> <sipers> 1.0-Snapshot </versão> </parent> <modelverssion> </ <artifactId>taotao-manager-service</artifactId> <packaging>jar</packaging> <name>taotao-manager-service</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <pendências> <!-dependências e submódulos de mapeador-> <pendence> <puperid> cn.william </frupiD> <TRAFACTID> taotao-manager-mapper </tutifactid> <sipers> 1.0-snapshot </versão </dependência> <!-spring-> <pendency> <TRATIFACTID> Spring-Context </ArtifactId> </Dependency> <pendency> <voundiD> org.springframework </frupidId> <TRATIFACTID> Spring-Beans </ArtifactId> </pendence-> ... (omitido) </dependências> </Project>
O submódulo da web depende do submódulo de serviço, os detalhes do POM.XML são os seguintes:
<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 "> <airest> <TRAFACTID> taootao-manager </stutifactId> <purfactId> cn.william </foupid> <versão 1.0-SNAPSHOT </versão> </parent> <modelversion> 4.0 <sipers> 1.0-SNAPSHOT </versão> </parent> <modelversion> </ArtifactId> Taotao-manager-web </stifactId> <batyaging> war </acheging> <!-Part-se no pacote de guerra-> <name> taotao-manager-web maven webapp </name> <url> http://maven.apache.org </url> dependência> <! <GroupId> cn.william </frugiD> <ArtifactId> taotao-manager-service </starfactid> <versão> 1.0-snapshot </versão> </dependency> ... (omitido) </dependências> <fuild> <ciltName> taotao-manager-web </finalname> </builf> <fuild> </finalname> Taotao-manager-web </finalname>
Criar index.jsp
Neste ponto, a criação do projeto foi concluída. Podemos criar index.jsp no diretório WebApp de Taotao-manager-web. Os detalhes são os seguintes:
Usando o plug -in Tomcat
Usamos o plug -in Tomcat do MAVEN para executar o projeto. Antes disso, certifique-se de configurar o plugin do Tomcat no arquivo POM do Taotao-Manager:
... (omitido) <uild> <!-plugin de configuração-> <lugin> <puperid> org.apache.tomcat.maven </groupid> <stifactId> tomcat7-maven-pplugin </artifactId> <figuration> <sort> </port> </plugin </pluct> </pnplt> </plugin
Configure o plug -in do Maven Tomcat para executar projetos da web
(1) Adicione nova configuração
(2) Clique em Run ou clique na depuração ao lado
(3) Erro em questão
Ocorreu um erro, o que pode ser que os pais comuns e comuns não foram instalados no repositório local. O erro ocorreu é que o pacote de jar comuns-utils não pode ser encontrado, portanto, precisamos instalá-lo.
Esperando para instalar o pacote JAR no repositório local, é um pouco lento, talvez, seja paciente, espere. . .
Após a conclusão da instalação, execute novamente e as seguintes informações parecem provar que a operação é bem -sucedida:
Acesso através do navegador:
Nesse ponto, nosso ambiente de projeto foi construído com sucesso e o próximo passo é o desenvolvimento real do projeto.
declaração:
① Em relação à parte omitida no código acima, é porque o conteúdo é muito longo, por isso é omitido. Se você deseja visualizar o projeto concluído, verifique meu github, endereço:
https://github.com/williamhappy/tao-shopping-mall
② Reconheça todas as deficiências acima. Afinal, minha tecnologia é limitada e também estou em fase de aprendizado. Também posso dar opiniões razoáveis e melhorá -las juntas.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.