A few days ago, I pressed “remove all” on my CF card before I copied the pictures to my computer. Even though I abort the operation as soon as I realized what I’ve done, some of the pictures were already deleted. So, I went online and found PhotoRec, which runs on Linux and worked pretty well. I was able to recover deleted photos with the tool. :)
I find this howto very useful on accessing both Exchange email and calendar from a linux machine. Very happy! :)
After setting up an instance of SVN using the instructions I found here. I wanted to setup email notification for every commit on a SVN server. I was able to setup SVN::Notify using the tutorial on this page. When attempting to run
perl -MCPAN -e 'install SVN::Notify', the install command complained that MakeMaker version is not new enough. So, I went to this CPAN page and download the module and install it before resume installing SVN::Notify. The install command complained again about a missing directory. I repeated the command and the installation completed successfully. :)
The instruction statement on “replace the existing call to commit-email.pl” wasn’t very clear to me. It didn’t say which file I should edit. I eventually figured out that I should make a copy of
[SVN_REPOSITORY]/hooks/post-commit.tmpl file and name the new file
[SVN_REPOSITORY]/hooks/post-commit. In the file, I commented out the following line:
mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf
Next, I added the following line:
/usr/bin/svnnotify --repos-path "$1" --revision "$2" --to email@example.com --user-domain mydomain
Please note that I replaced
mydomain with correct values for my environment. I also ran the following command to make it executable.
chmos +x post-commit
After completed all these, I was able to receive the email notification every time an user commit to the repository. :)
Maven + GWT
I needed to create a GWT project using maven again. The original post lacked some details. This time, I got it to work with a slightly different steps. First, I ran the following command:
mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo -DarchtypeArtifactId=gwt-maven-plugin -DarchetypeVersion=2.4.0 -DarchetypeRepository=repo1.maven.org
Somehow, Maven didn’t pickup the group ID and artifact ID. So, I had to choose from one of the listed item.
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 337 Choose org.codehaus.mojo:gwt-maven-plugin version: 1: 1.1 2: 1.2 3: 2.1.0 4: 2.1.0-1 5: 2.4.0 Choose a number: 5: 5
Next, I defined the properties for my project.
Define value for property 'groupId': : com.my.app.package.name Define value for property 'artifactId': : directoryNameForTheGeneratedProject Define value for property 'version': 1.0-SNAPSHOT: : Define value for property 'package': com.my.app.package.name Define value for property 'module': : moduleName
Now I can run the generated module with the following command. This will bring up a console. All I have to do is copy the URL and then past it in the browser.
Maven + Eclipse
Next, I followed the instructions on this page to run the following command within the project folder to enable support for Eclipse:
Then, I use Eclipse to import existing project into workspace to open the project. Eclipse complained that the default directory for the project should be set to
/PorjectFolder/src/main/webapp/WEB-INF/classes Since I want to use Maven to build, I ignore the error by right click on the error, choose quick fix, choose
Do not use the WAR directory for ProjectName launching and deploying (this disables management of WEB-INF)
Maven + WebLogic
I noticed that the JRE libraries were referencing version Java SE 7 jars, I changed it to 6 so the project will be compatible with WebLogic 11g. For WebLogic 12c, see this post.
I followed the instructions to configure WebLogic 11g with Maven. The available commands for 11g are slightly different from 12c. They are are
deploy, help, list-apps, redeploy, start-app, stop-app, undeploy, update-app. Once I completed the configuration, I was able to run
mvn weblogic:list-apps command. Next, I ran
mvn package to create the WAR file before attempted
mvn weblogic:deploy. I was able to load the application in my browser! :)
While attempting to crate a domain on the command line, I encountered an error complaining about missing terminalio. A looked around the web led me to this tip on how to work around the issue by adding the following parameter:
Today, I tried to use Maven with WebLogic 12c. The documentation for installation is straight forward. I was able to execute
mvn wls:help without any difficulty.
However, using the WebLogic plugin wasn’t as easy. In order to run commands such as
mvn wls:start-server, I needed to configure various parameters, such as
name. Instead of specifying these parameters every time I run the command, I added the following config to
<!-- WebLogic Server 12c Maven Plugin --> <plugin> <groupId>com.oracle.weblogic</groupId> <artifactId>wls-maven-plugin</artifactId> <version>18.104.22.168</version> <configuration> <artifactLocation> com.oracle.weblogic:wls-dev:zip:22.214.171.124 </artifactLocation> <middlewareHome>/export/apps/wls</middlewareHome> <domainHome>/export/apps/wlsdomains/d1</domainHome> <user>weblogic</user> <password>welcome1</password> <name>applicationName</name> </configuration> </plugin>
After that, I was able to run the following commands without manually entering additional parameters. :)
mvn wls:start-server mvn wls:deploy mvn wls:list-apps mvn wls:undeploy mvn wls:stop-server
Initially, I noticed the following error when attempting to deploy/undeploy the web app. This appears to go away after I restarted the server.
[ERROR] Unknown lifecycle phase "applicationName". You must specify a valid lifecycle phase or a goal in the format : or :[:]:. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-site, site, post-site, site-deploy, pre-clean, clean, post-clean. -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/LifecyclePhaseNotFoundException
This howto helped me to create a GWT project using Maven. It even allows me to run the GWT project in development mode with Jetty, very sweet!
On the other hand, OEPE’s Weblogic plug-in doesn’t play nice with GWT based project. Looks like I’ll continue use Maven to build WAR files.
When I tried to add an Oracle WebLogic Server 12c as a new server runtime to a project in OEPE (Eclipse), OEPE refused to recognize the information I entered. Fortunately, Daniel G. told me that I have to select the
wlserver folder first, then backspace a few times to remove
wlserver from the path and type in the
wlserver back to trigger the screen to fresh. The goal is to change the path using different ways to trigger a refresh action, which doesn’t get triggered when it supposed to. Once I was able to trigger the fresh action on
wlserver folder, OEPE was able to recognize the server runtime installed in the folder. ;)
This definitely worth a bug on OEPE!
Here is an instruction that worked for me. :)
If ads in Android notification menu annoys you, this blog post gives some pointers on how to remove them. :)