Dưới đây là những gì tôi đã làm: -
- Install Nodejs v6.9 +
- Run NPM cài đặt @ góc/cli -g cho góc CLI
- Cài đặt Apache Maven hoặc sử dụng bất kỳ IDE nào Maven thân thiện
- Sử dụng cấu hình Maven yêu cầu của bạn, tôi đã sử dụng webapp đơn giản (WAR).
mục Stucture (Trừ ngapp thư mục còn lại là cấu trúc Maven tiêu chuẩn.)
ngfirst
├── pom.xml
├── src
│ └── main
│ ├── java
│ ├── resources
│ ├── webapp
│ └── ngapp
góc Phần
mở ngapp thư mục trong thiết bị đầu cuối và gõ ng init lệnh khởi tạo nút và cấu hình npm trên, kết quả sẽ là một ứng dụng ví dụ Angular2 đơn giản sẽ cấu trúc thư mục sau đây trong thư mục ngapp: -
├── angular-cli.json
├── e2e
├── karma.conf.js
├── node_modules
├── package.json
├── protractor.conf.js
├── README.md
├── tslint.json
├── src
├── app
├── assets
├── environments
├── favicon.ico
├── index.html
├── main.ts
├── polyfills.ts
├── styles.css
├── test.ts
└── tsconfig.json
Cấu trúc này là góc tương đương với cấu trúc dự án Maven và src thư mục là góc nguồn của ứng dụng, giống như maven xây dựng lệnh tạo ra đầu ra của nó trong mục tiêu thư mục, ng xây dựng lệnh tạo ra đầu ra của nó trong dist thư mục.
Để gói ứng dụng kiễu góc được tạo ra trong Maven tạo WAR thay đổi cấu hình xây dựng để thay đổi thư mục đầu ra từ quận để webapp, mở góc-cli.json tập tin và sửa đổi outDir của nó như sau: -
"outDir": "../webapp/ng"
Tại thời điểm này ng xây dựng lệnh sẽ tạo xây dựng ứng dụng góc bên ng thư mục của ngfirst/src/main/webapp thư mục.
Maven Phần
mở pom.xml và cấu hình sau ba plugin maven: -
- biên dịch-plugin: Không Java công cụ để biên dịch trong/src/main/ngapp thư mục, loại trừ nó.
- chiến tranh-plugin:/src/main/ngapp là góc thư mục dự án và nó không nên được đóng gói trong WAR, loại trừ nó.
- exec-plugin: Thực thi cài đặt NPM và lệnh angular-CLI Build để tạo ứng dụng góc trong thư mục webapp để đóng gói lần cuối. Lưu ý đối số -base-href, bắt buộc phải tải tài nguyên Góc từ đường dẫn ngữ cảnh của webapp.
Sau đây là cách nó sẽ giống như thế: -
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<excludes>
<exclude>ngapp/**</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<excludes>
<exclude>ngapp/**</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.5.0</version>
<executions>
<execution>
<id>exec-npm-install</id>
<phase>generate-sources</phase>
<configuration>
<workingDirectory>${project.basedir}/src/main/ngapp</workingDirectory>
<executable>npm</executable>
<arguments>
<argument>install</argument>
</arguments>
</configuration>
<goals>
<goal>exec</goal>
</goals>
</execution>
<execution>
<id>exec-npm-ng-build</id>
<phase>generate-sources</phase>
<configuration>
<workingDirectory>${project.basedir}/src/main/ngapp</workingDirectory>
<executable>ng</executable>
<arguments>
<argument>build</argument>
<argument>--base-href=/ngfirst/ng/</argument>
</arguments>
</configuration>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
Building Maven Project (và App góc quá)
Mở Terminal trong thư mục gốc của dự án ngfirst và chạy mvn gói lệnh, điều này sẽ tạo ra một tệp WAR (ngfirst.war) trong mục tiêu thư mục.
Triển khai ngfirst.war trong vùng chứa, mở http://localhost:8080/ngfirst/ng/index.html trong Trình duyệt. (điều chỉnh tên máy chủ và cổng của bạn nếu cần)
Nếu mọi thứ diễn ra đúng, bạn sẽ thấy ứng dụng hoạt động! trong trình duyệt, đó là ứng dụng góc tại nơi làm việc !!
JSP Pre-Processing
Chúng ta có thể tận dụng cấu hình và trang khả năng dựng hình năng động của công nghệ JSP với ứng dụng kiễu góc, SPA góc được phục vụ bởi các container Java như trang HTML thông thường, index.html trong này trường hợp, nếu chúng ta cấu hình JSP Engine để xử lý trước các tệp html quá, thì tất cả các phép thuật JSP có thể được đưa vào bên trong Angular SPA Page, chỉ bao gồm các trang sau bên trong trang web .xml
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
Lưu, tạo lại dự án maven, triển khai WAR và voila !!
Tôi xây dựng ứng dụng của tôi bằng cách sử dụng khởi động mùa xuân và chúng tôi chum cho angular2. Để tham khảo mẫu https://github.com/Kiran-N/springboot-and-angular2 – Developer
Có nhiệm vụ tương tự, đây là cách tiếp cận của tôi http://stackoverflow.com/questions/37512154/configure-angular-2-project-with -maven-and-spring-rest/42283956 # 42283956 –