2009-05-07 23 views
24

Có ai biết cách (dễ dàng) "đổi tên" một ứng dụng grails hiện có không? Tôi đang chạy vào điều này bởi vì nhà cung cấp PaaS của tôi không cho phép tôi xóa đăng ký ... Vì vậy, tôi muốn triển khai ứng dụng của mình dưới một tên khác.Cách đổi tên ứng dụng Grails hiện có

Tất nhiên, tôi có thể làm điều này bằng tay, nhưng tôi nghĩ rằng nó có thể là một 'top-level' kịch bản hữu ích (ví dụ: "grails đổi tên ứng dụng newappname")

gợi ý Hướng dẫn sử dụng:

Khi tôi làm một "grails create-app myappname" Tôi có thể thấy myappname tồn tại trong các tệp sau (và tên tệp) ... Tất nhiên điều này được thực hiện bởi tập lệnh tạo ứng dụng, thay thế @ ... @ mã thông báo trong mẫu. Tôi đoán một khi họ được thay thế, nó không tầm thường để làm một đổi tên.

./.project: <name>myappname</name> 
./application.properties:app.name=myappname 
./build.xml:<project xmlns:ivy="antlib:org.apache.ivy.ant" name="myappname" default="test"> 
./ivy.xml: <info organisation="org.example" module="myappname"/> 
./myappname-test.launch:<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="myappname"/> 
./myappname.launch:<listEntry value="/myappname"/> 
./myappname.launch:<listEntry value="<?xml version="1.0" encoding="UTF-8"?> <runtimeClasspathEntry containerPath="org.eclipse.jdt.launching.JRE_CONTAINER" javaProject="myappname" path="1" type="4"/> "/> 
./myappname.launch:<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="myappname"/> 
./myappname.launch:<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dbase.dir="${project_loc:myappname}" -Dserver.port=8080 -Dgrails.env=development"/> 
./myappname.tmproj: <string>myappname.launch</string> 

Và tất nhiên ... tên thư mục cấp cao nhất là "myappname"

Bất kỳ gợi ý, hoặc thông tin về sáng kiến ​​liên tục trong lĩnh vực này được chào đón

Greetz,

Johan

Trả lời

33

Tôi phải làm điều này, tôi đã đổi tên thư mục cấp cao nhất của dự án thành tên mới và đã chỉnh sửa tệp application.properties. Có một dòng app.name = youroldappname cần được thay đổi.

Thực ra, bạn thậm chí không phải đổi tên thư mục. Bạn có thể có tên ứng dụng web khác.

+1

hoạt động như một huy hiệu !!! –

+4

Có thể sẽ có convinient thực thi "grails clean" sau khi đổi tên. –

0

Hmm, tôi biết nó không có vẻ thú vị, nhưng không khó (chỉ cần nhàm chán) để đổi tên thư mục dự án, sau đó tất cả các tệp có tên dự án của bạn trong đó (bạn có thể bỏ qua .tmproj trừ khi bạn sử dụng TextMate). Cuối cùng, tìm kiếm nhanh qua tất cả các tệp cho tên dự án cũ của bạn để thay thế và bạn nên có nó.

Oh! Trước tiên, nếu bạn đang sử dụng một IDE, bạn sẽ muốn loại bỏ dự án khỏi IDE, sau đó nhập lại nó sau khi bạn đã hoàn thành thủ tục đổi tên của mình.

Theo như tôi biết, không có dự án cụ thể nào được lưu trữ ở bất kỳ đâu ngoại trừ thư mục dự án và dưới đây, vì vậy nó rất hữu hạn để tìm kiếm và bạn chỉ phải thực hiện việc này một lần (tôi hy vọng).

Không phải rất thanh lịch, tôi biết, nhưng sức mạnh vũ phu không có công dụng của nó.

0

Tôi đã sử dụng Phương pháp bạo lực và nó đã hoạt động đối với tôi. Mất 5-10 phút để tìm tất cả các tệp có tên trong đó và thay thế bằng tệp mới. Ngoài ra Netbeans là ok sau đó. Điều duy nhất thay đổi là số cổng mà tôi phải thay đổi lần nữa.

0

Chỉ cần đổi tên công trình trừ khi bạn đang sử dụng plugin. Chúng sẽ được lưu trữ trong thư mục $USER_HOME/.grails/$GRAILS_VERSION/projects/OLDNAME.

Vì vậy, sau khi đổi tên dự án của bạn, bạn đã "mất" các plugin của mình. Tôi đã không cố gắng đổi tên thư mục của plugin tuy nhiên chỉ cần cài đặt tất cả các plugin của bạn hoạt động tốt (ít nhất là với Google App Engine và gorm-jpa).

0

Nếu chỉ thay đổi tên ứng dụng web là không đủ, bạn có thể thử cách thô ráp - tạo bản sao lưu trước đó. (Trong thư mục workspace)

zip -r oldname.zip oldname/ 

Sau đó, trong nhật thực/ggts, sử dụng Disable dự án

, Xây dựng tự động Search, File, chứa văn bản: "oldname", Tìm kiếm Nhấp chuột phải vào kết quả tìm kiếm, Thay thế tất cả, ... "newname"

Thoát nhật thực và đổi tên tất cả các thư mục thành tên dự án mới. Trên Unix/Mac chạy

find . -name "oldname" 

và mv số ít kết quả để phản ánh đúng tên mới.

Đối với tôi, nó hoạt động như một sự quyến rũ, nhưng hãy chắc chắn rằng tên dự án của bạn không phải là một từ khóa và hợp lý duy nhất.

Các vấn đề liên quan